Mi servidor web Mac no funcionará después de actualizar a Yosemite. Cuando escribo apachectl
en Terminal, obtengo esto:
httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/php5/libphp5.so\n Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so
Si escribo, sudo apachectl [re]start
no sucede nada, como si se iniciara y lo escribiera nuevamente, dice que ya se está ejecutando. Además, tengo instalado el panel de preferencias de uso compartido web ( http://clickontyler.com/web-sharing/ ) y cuando muevo el interruptor de Apagado a Encendido, todavía dice que está apagado, aunque el interruptor esté en la posición Encendido .
¿Qué archivos quieren / necesitan ver? Realmente necesito arreglar esto lo antes posible.
fuente
El problema ocurre porque Yosemite instala la última versión de Apache (2.4) mientras que las versiones anteriores de Mac OS X usaban Apache versión 2.2
Por el error, parece que no estaba utilizando la versión estándar de PHP proporcionada por Apple, sino una versión diferente provista por liip.ch. Al eliminar el signo # como lo sugiere Nuttyx arriba, se cargará la versión de Apple de php (5.5.14). Si desea continuar ejecutando la versión suministrada por liip, deberá reinstalarla para que se cargue correctamente en Apache 2.4. Vea una explicación detallada aquí: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )
Nota: si está utilizando hosts virtuales, probablemente necesitará cambiar algo sus archivos de configuración. En particular, deberá cambiar lo siguiente:
2.2 configuración:
2.4 configuración:
fuente
Parece que se puede solucionar este problema mediante la eliminación de la
#
en el beggining de la línea siguiente en/etc/apache2/httpd.conf
el archivo:fuente
Ejecutar 'sudo apachectl' sin argumentos muestra el problema en los archivos conf. En mi caso, la actualización de php lo solucionó.
Después de eso, Apache volvió a ejecutarse pero tuve que reconfigurar los vhosts.
fuente
Si bien la pregunta anterior ha sido respondida, existe otra posibilidad del mismo error como:
Esto podría suceder si ha creado un enlace simbólico al que se hace referencia en el nombre anterior y no se encuentra. Para resolver, cree un enlace simbólico que proporcione la ruta absoluta para el archivo real y lo mismo para el nombre del archivo de enlace simbólico que se proporciona.
fuente