No se ven los menus en la administración de Joomla

Internet, php, Sistemas 3 Comentarios »

Puede ocurrir que al entrar a la administración de Joomla, aparezca vacío el listado de menús, aunque tengas alguno, y si además tienes activada la opción de mostrar errores de PHP, verás mensajes de error similares a estos:

Warning: Parameter 4 to JHTMLMenu::treerecurse() expected to be a reference, value given in libraries/joomla/html/html.php on line 87
Leer el resto de la entrada »

Impedir ejecución de código PHP en una carpeta

php, Sistemas Sin Comentarios »

A veces es necesario conceder todos los permisos a una carpeta para poder subir en ella imágenes o archivos, pero esto es un riesgo ya que un usuario malintencionado pueden acceder a ella  y ejecutar codigo malicioso que cause estragos en nuestro servidor web.

Una manera de evitarlo es impedir la ejecución de código PHP en esta carpeta. Para lograrlo solo tenemos que crear un fichero .htaccess en dicha carpeta y poner este codigo en él:

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi .dat
RewriteRule \.(gif|jpg|js|css|swf|png)$ - [L]

Este código impide la ejecución de código PHP en la carpeta y en todas sus subcarpetas.

Solucionar error PHP: Undefined variable: HTTP_SERVER_VARS

php 10 Comentarios »

Tienes una web en PHP funcionando perfectamente y tienes que pasarla a otro servidor, pero resulta que en el nuevo servidor, aunque la web carga, aparece un error similar a este:
Notice: Undefined variable: HTTP_SERVER_VARS in /var/www/web/fichero.php on line 298

El problema es que el servidor no reconoce la variable HTTP_SERVER_VARS. Para que la reconozca debes acceder al php.ini y poner a On las opciones  register_globals y register_long_arrays. Reiniciamos Apache y comprobamos si el error ha desaparecido.

Si esto no funciona podemos ir al fichero y la línea indicados en el error y sustituir  HTTP_SERVER_VARS por _SERVER. Por ejemplo, si tenemos:

$HTTP_SERVER_VARS['PHP_SELF'];

Podemos cambiarlo por:

$_SERVER['PHP_SELF'];

También podemos tener problemas con otras variables, que podemos solucionar sustituyendolas por otras:

$HTTP_GET_VARS sustituir por $_GET

$HTTP_POST_VARS sustituir por $_POST

Más información:

Manual de PHP: Variables Predefinidas

Cambiar ruta de carpeta pública en Apache 1 y 2

Linux 8 Comentarios »

Por defecto, apache sitúa los documentos compartidos en /var/www.

Para cambiar esta ruta debemos seguir estos pasos:

  1. Debemos acceder al fichero de configuración de apache:
    1. Si tenemos la versión 1 de apache hay que acceder al fichero /etc/httpd/conf/httpd.conf
    2. Si tenemos apache 2 el fichero es /etc/apache2/sites-available/default
  2. Cambiar la ruta de la variable DocumentRoot “/var/www” por la ruta que queramos, por ejemplo DocumentRoot “/home/webs”
  3. Reiniciamos apache, con el usuario root, con este comando:
    1. Si es apache 1:/etc/init.d/httpd restart
    2. Si es apache 2: /etc/init.d/apache2 restart

Para ambas versiones de apache, debemos recordar siempre dar permisos de lectura y ejecución para todos los usuarios a la carpeta de las webs:

chmod -R 0755 /home/webs
WP Tema & Iconos por N.Design Studio
Traducido por luisitob2
Entradas RSS Comentarios RSS Acceder