Lo sabemos, seguro que usas Google para tus búsquedas. ¡por supuesto!. Y por eso seguro que te ha impresionado el ver «quizás quiso decir» o ahora que busca resultados de tus búsquedas con las palabras bien escritas. Vamos, que es «a prueba de disléxicos». Pero, como dicen en cierto programa de TV: ¿Cómo lo hacen?.
Leer másCategoría: PHP
Si tu web va lenta o la notas rara
Nos estamos encontrando que están realizando ataques de inyección de código. Los ataques de inyección de código más habituales es que por un agujero de seguridad (del CMS o de la aplicación web instalada) buscan archivos con extensión .PHP o .HTML para meter dos tipos de código.
Libreria Mcrypt de apache
Al instalar esta librería en Mac con un port install php53-mysql o en Ubuntu con un apt-get install php5-mcrypt, y tras reiniciar el apache a veces no nos funciona, y lo vemos porque no sale en un phpinfo o simplemente porque nos da error al cargar la librería.
El problema es que en lugar de dejar la librería mcrypt.so en el sitio por defecto donde php (por ejemplo /opt/local/lib/php/extensions/no-debug-non-zts-20090626/) va a buscarlo deja las librerías en otro directorio, /opt/local/lib/php53/extensions/no-debug-non-zts-20090626/
La solución pasa por modificar el php.ini para añadir un directorio de extensiones. Por ejemplo en Mac sería
[code]
extension_dir=»/opt/local/lib/php53/extensions/no-debug-non-zts-20090626/»
[/code]
Otra solución es crear enlaces simbólicos según las librerías instaladas en la carpeta por defecto. Para ello hacemos un ls de la carpeta y vamos haciendo los enlaces simbólicos.
[code]
ls /opt/local/lib/php53/extensions/no-debug-non-zts-20090626/
ln -s /opt/local/lib/php53/extensions/no-debug-non-zts-20090626/mcrypt.so /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
[/code]
Y si no nos queremos complicar nada, pues copiamos de una carpeta a otra .
[code]
cp /opt/local/lib/php53/extensions/no-debug-non-zts-20090626/* /opt/local/lib/php/extensions/no-debug-non-zts-20090626/
[/code]
Para comprobar si funciona desde un terminal hacemos
[code]
php -m | grep mcrypt
[/code]
Y ya sólo nos queda reiniciar el apache. Si nos siguiese dando problemas, deberíamos especificar las librerías en el fichero php.ini y en las extensiones añadir
[code]
mcrypt.so
[/code]
Como siempre, espero que os sirva
Poner una lista de todos los sitios de tu WordPress
Para aquellos que tengan un WordPress Multisite (como nosotros), seguramente les interese poner una lista de todos los sitios y sus URLs.
Aunque existen plugins y cosas de esas que son capaces de hacerlo, lo mejor es tener control total sobre ello a fin de poderlo poner como nos guste. Así que vayamos a un ejemplo del código necesario.
Cambiar tipo mime de un fichero
Recientemente me ha pasado que algún editor modifica la codificación de un fichero como consecuencia si yo tengo un fichero .php que muestre una palabra con acentos y el encoding del fichero no coincide con el encoding que yo le estoy diciendo en el «meta»…pues problema al canto y caracteres raros por ahí…
El encoding se puede solucionar guardando el fichero en el encoding apropiado (algunos editores soportan esta opción) pero para linux (Mac) esta es la solución más sencilla que he encontrado.
Solución en linux:
Para identificar que encoding tiene un fichero concreto:
[code] $file –mime nombrefichero.php [/code]
Esto nos produce una salida…
[code] nombrefichero.php: text/plain; charset=iso-8859-1[/code]
Para reconvertir al formato que deseamos por ejemplo a utf-8:
[code] iconv -f iso-8859-1 -t utf-8 nombrefichero.php > nombrefichero_utf8.php[/code]
*NOTA: cuidado con intentar encodear un fichero formato ascii a utf-8 porque ascii ya es utf-8 por lo que la reconversión no se lleva a cabo.
Instalación de adAS en Ubuntu 12.04
El AdAS es un servidor de autenticación avanzado que realiza funciones de proveedor de identidad con un entorno gráfico de configuración integrado que facilita su administración, puesta en marcha y mantenimiento. El software de administración y gestión que se ofrece está escrito en PHP, Se puede descargar de la web: http://www.adas-sso.com/es/ es opensource pero no tiene ninguna documentación de instalación o de uso, reservandose esta para el momento de contratación de servicios profesionales con la empresa, este aspecto es el que menos me ha gustado del producto que ha hecho que simplemente para verlo funcionando haya sido un proceso de prueba/error permanente.
Leer más
Problemas con los permisos en los directorios creados por apache
Hoy nos hemos encontrado con el problema de que apache crea directorios con permisos solo 750, a pesar de poner un 777 en el mkdir desde php. Se solucionaría con un umask antes del mkdir, pero nos restringiría las aplicaciones como wordpress, y tampoco nos interesa un script que cambiase los permisos por las noches, así que hemos estado un rato buscando la solución.
En nuestro Centos del servidor, tras mucho indagar, y cambiar el .profiles del usuario apache sin ningún resultado, hemos visto que la solución está en editar /etc/sysconfig/httpd añadiendo a final un «umask 0002» y reiniciar el apache. A partir de entonces crea los directorios con un 770 sin problemas.
Espero que os ayude!!
Problemas con la fecha en php
Si os aparece el error «PHP Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CEST/2.0/DST’ instead in» que me he encontrado en el php 5.3 se soluciona modificando en el php.ini tenemos que poner nuestra fecha por defecto:
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin";
Si apache no te reconoce los tags <?
Hoy me he encontrado que el php 5.3 de Centros no me reconocía los <? del comienzo de los ficheros de php pero si los <?php.
Resulta que esta nueva versión trae por defecto desactivada la opción short_open_tag. Para cambiarlo vamos al php.ini (normalmente /etc/php.ini) y lo ponemos a On, y a funcionar.