Siguiendo con el error 403 Forbidden en Apache con Codeigniter pues busqué y busqué la solución, ya que la que habia investigado antes pues era temporal, y despues de navegar por X número de páginas zaaas, vuelve a salir el error 403.

La solución sigue estando en la configuración de Apache2.0 y el módulo rewrite, primero modificamos el archivo en /etc/apache2/sites-enabled/000-default (u otro parecido)

< Directory />
Options FollowSymLinks SymLinksIfOwnerMatch
AllowOverride FileInfo
< /Directory>

Y despues en el .htaccess, o lo pueden poner en el otro archivo la siguiente info:

< IfModule mod_mime.c>
AddType text/html;charset=UTF-8 .html
< /IfModule>

< IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#’system’ can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#When your application folder isn’t in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename ‘application’ to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn’t true it sends the
#request to index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/kml|/robots\.txt|/favicon\.ico)

RewriteRule ^(.*)$ /index.php/$1 [L]
< /IfModule>

< IfModule !mod_rewrite.c>
# If we don’t have mod_rewrite installed, all 404’s
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin

ErrorDocument 404 /index.php
< /IfModule>

Donde dice UTF8 es para que todas las páginas HTML las mande con ese encoding, y la parte que creo es importante es donde se filtra el js, css, pero bueno!, ya con eso funciona bien el codeigniter y sin errores 403 forbidden.

Si no te gusta la nueva aplicación de facebook llamada “Preguntas” y deseas eliminarla de forma nativa desde Facebook pues me temo decirte que NO se puede y desde la página oficial de Ayuda esto es lo que dice:

¿Puedo desactivar u ocultar Preguntas de Facebook?
Como ocurre con otras aplicaciones de Facebook como Fotos o Eventos, no se puede desactivar Preguntas.

Osea, ya te la pelaste!.., pero noooo! gracias a Firefox podemos ocultar las preguntas, solo hay que seguir estos pasos:

1.- Instalar Greasemonkey: https://addons.mozilla.org/es-es/firefox/addon/greasemonkey/

2.- Reiniciamos Firefox

3.- Activamos Greasemonkey, aparecerá en la parte superior derecha, y le damos Activado.

4.- Despues visitamos la página del script: Hide Questions http://userscripts.org/scripts/show/102040    RemoveQuestions http://userscripts.org/scripts/show/102205 y presionamos sobre el botón INSTALL

Y listo! ya tenemos activado el script y a disfrutar el Facebook como antes.

Firefox utiliza como base de datos para guardar los favoritos, configuraciones, etc, etc…., SQLite y pues como toda base de datos cada cierto tiempo necesita ser optimizada, en Mac OSx al igual que otros sistemas operativos (Linux, Windows) tenemos un comando llamado sqlite3, y en el caso de la mac solo es cosa de ejecutar las siguientes instrucciones.

cd ~/Library/Application Support/Firefox/Profiles/*.default/
ls -lh places.*
sqlite3 places.sqlite “vacuum;”
ls -lh places.*

Y listo, a navegar agusto en nuestro flamante Firefox ya optimizado.

Por alguna extraña razón el software JDownloader ya no se reconectaba como antes, entonces viendo el log me doy cuenta que la página que utilizaba para la reconexión fue cambiada (no se si el modem se actualice automagicamente).

Aquí les pongo el nuevo script para el Huawei Echolife HG520b, versión del software: V100R001B122Telmex versión del firmware: 3.10.18.8-1.0.7.0 por si las moscas jejeje.. (sirve que si vuelve a fallar para saber que versión estaba)

Todo lo demás es como el post viejo sobre el echolife HG520b

[[[HSRC]]]
[[[STEP]]]
[[[REQUEST]]]
GET / HTTP/1.1
Host: %%%routerip%%%
Authorization: Basic %%%basicauth%%%
[[[/REQUEST]]]
[[[/STEP]]]
[[[STEP]]]
[[[REQUEST]]]
POST /Forms/bottom_restart_1 HTTP/1.1
Host: %%%routerip%%%
defaltRomFlag=0&defaultIpFactory=%%%routerip%%%&Restart_factory=0
[[[/REQUEST]]]
[[[/STEP]]]
[[[/HSRC]]]

Aquí la versión manual:

Estaba probando la creación de mapas de calor (heat map) con PHP y en mi maquina local todo funciona correcto para al pasarla al servidor saaz, error de PHP.

Fatal error: Call to undefined function imagefilter()

revisando la documentación de la función imagefilter dice que viene en la librería GD y PHP5, los 2 programas ya los tenia instalados, pero aún así no reconocía la función, e investigando dice que se ocupa instalar la libreria PHP5-GD Bundled (embedida o empaquetada), ya que la versión original fue desarrollada por Boutell.

Ahora al grano! a instalar la nueva librería, para eso la vamos a compilar todo a mano, jejeje:

apt-get update
apt-get install build-essential debhelper fakeroot
cd /usr/src
apt-get source php5
apt-get build-dep php5
cd php5-5.2.4

Recuerden cambiar la versión del PHP descargada, despues a modificar el archivo debian/rules

nano ./debian/rules

Buscamos la línea que diga:

–with-gd=shared,/usr –enable-gd-native-ttf \

Y la cambiamos por esta:

–with-gd=shared –enable-gd-native-ttf \

Ahora viene la parte tardadaaaaaa!!! a compilar todo,

dpkg-buildpackage -rfakeroot
cd ..
apt-get remove php5-gd
dpkg -i php5-gd_5.2.4-2ubuntu5.14_i386.deb

Reiniciamos apache y listo! la librería php5-gd debe de quedar OK!..

/etc/init.d/apache2 restart

Aca una imagen de como quedo el mapa de calor:

Así como suena el titulo, en Microsoft SQL Server no existe la función limit , para implementarla tienes que usar algunos trucos con subconsultas., algo tan sencillo en MySQL como: SELECT * FROM miTabla LIMIT 2,10 en SQL Server se vuelve una calamidad.

Buscando en Internet, encontré en Foros del Web una explicación de como hacer funcionar, se tiene que poner una subconsulta SQL con algo que diga: ROW_NUMBER() OVER (ORDER BY campo) as NumRows y despues se hace un WHERE con su respectivo Between para poner el limite: WHERE NumRows BETWEEN 2 AND 10

Aca un ejemplo más elaborado:

SELECT *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY mi_Campo1) AS NumRows, *
FROM mi_Tabla
) as AS_NumRows
WHERE AS_NumRows.NumRows BETWEEN 10 AND 20

Si se requiere algún WHERE en nuestra consulta SQL se debe de meter en la subquery, en caso que no tengamos ningun campo a ordenar se cambia lo que tiene ROW_NUMBER, ORDER BY por la siguiente información:

ROW_NUMBER() OVER (ORDER BY (SELECT 1))

Y listo!.., no he probado el rendimiento pero pues aquí una solución extra.

Si son de los que utilizan JDownloader para descargar de megaupload, rapidshare, hotfile, mediafire o un sin fin de páginas de descargas, pero tienen el problema que cuando desean descargar otro archivo del mismo servidor les marca un error que la IP esta bloqueada y tienen que esperar X tiempo hasta que se libere..,

La solución a esto es solicitar una nueva IP a Telmex., pero hacerlo manualmente no tiene funcionalidad, la idea de JDownloader es automatizar estas descargas, como si se tratara de un FTP, Torrent!..
Read More →

Por alguna extraña razón en el servidor web Cherokee, de repente sin motivo aparente empezaron a aparecer errores 504 Gateway Timeout en todas las páginas terminadas con extensión .PHP, las .HTML si se ven correctamente, entonces el error debe de estar en la configuración o proceso de PHP5.

Antes de mover la configuración (porque todo funcionaba bien antes), decidi matar los procesos de PHP,

con el ps -ax revise que existieron procesos de PHP:

2658 ? S 0:07 /usr/bin/php-cgi -b 127.0.0.1:47990
6592 ? Ss 0:06 /usr/sbin/sshd
11296 ? S 0:01 /usr/bin/php-cgi -b 127.0.0.1:47990
14097 ? S 0:17 /usr/bin/php-cgi -b 127.0.0.1:47990

Y bueno, a proceder con la eliminación de los mismos, pero para no irme de proceso en proceso pues elimino todos los que tengan la palabra php y despues reinicio cherokee webserver.

pkill -9 php
/etc/init.d/cherokee restart

Y voalaaa!, ahora ya funcionan bien las páginas!…, solo falta ver, el porque de esta falla para que no vuelva a suceder.

He estado implemtando algunas funciones con curl desde PHP, pero misteriosamente dejo de funcionar la libreria CURL y PHP me lanzaba el siguiente error:

PHP Fatal error: Call to undefined function curl_init()

Entonces lo más seguro es que la libreria curl no este instalada, pero revisando el phpinfo(); si aparece la referencia para cargar curl.so

Additional .ini files parsed /opt/local/var/db/php5/calendar.ini, /opt/local/var/db/php5/curl.ini, /opt/local/var/db/php5/ftp.ini, /opt/local/var/db/php5/gd.ini, /opt/local/var/db/php5/http.ini, /opt/local/var/db/php5/iconv.ini, /opt/local/var/db/php5/imap.ini, /opt/local/var/db/php5/mbstring.ini, /opt/local/var/db/php5/mcrypt.ini, /opt/local/var/db/php5/memcache.ini, /opt/local/var/db/php5/mssql.ini, /opt/local/var/db/php5/mysql.ini, /opt/local/var/db/php5/openssl.ini, /opt/local/var/db/php5/pcntl.ini, /opt/local/var/db/php5/soap.ini, /opt/local/var/db/php5/sockets.ini, /opt/local/var/db/php5/xdebug.ini, /opt/local/var/db/php5/xsl.ini, /opt/local/var/db/php5/zip.ini

Pero más abajo donde esta la información de los modulos pues nada de nada!, entonces opte por reinstalar la libreria.

Primero actualizo el repositorio del port (aca una guía para instalar port en tu Mac)

sudo port selfupdate

Y despues ya la instalación de la liberia php5-curl

sudo port install php5-curl

Reinicio el apache:

sh /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart

Y nada de nada!, el mismo error, entonces pues a ver los logs de apache para ver que esta sucediendo con el mentado modulo!.. ,y oooh sorpresa, error de dependencias, entonces a buscarlas., y resulta que tengo una versión más nueva de la que me esta solicitando PHP.

Aca el log de apache2: cat /opt/local/apache2/logs/error_log

Warning: PHP Startup: Unable to load dynamic library ‘/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so’ – dlopen(/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so, 9): Library not loaded: /opt/local/lib/libssl.0.9.8.dylib
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so
Reason: image not found in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library ‘/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so’ – dlopen(/opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so, 9): Library not loaded: /opt/local/lib/libcrypto.0.9.8.dylib
Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/curl.so
Reason: image not found in Unknown on line 0

De hecho varias liberias (http.so, ftp.so, openssl.so, imap.so) que necesitan libssl marcaban el mismo error y pues a crear los enlaces simbolicos.

cd /opt/local/lib/
ln -s libssl.dylib libssl.0.9.8.dylib
ln -s libcrypto.dylib libcrypto.0.9.8.dylib

Reiniciamos Apache y listo!!.., todo arreglado!. =)

Despues de actualizar el servidor web Cherokee y querer reiniciar el servicio desde el panel de control, me aparecio el siguiente mensaje de error:

Duped suffix (case insensitive) ‘z’, pointing to ‘package.png’
An unexpected error has just occurred in the server. The cause of the issue is unknown. Please, do not hesitate to report it at http://bugs.cherokee-project.com/ so the developer team can fix it.

La solución es ingresar a la siguiente página: http://127.0.0.1:9090/general#Icons-4 (Ajustes generales > Iconos) y despues buscar en la lista de extensiones el icono de paquetes (esta abajo de musica y arriba de pdf) y eliminar la extensión llamada Z (con mayusculas), ya que existe una llamada z (en minusculas) y en la nueva versión de cherokee ya no es necesario especificar las 2.