Mon serveur Web Mac ne fonctionnera pas après la mise à niveau vers Yosemite. Lorsque je tape apachectl
dans Terminal, j'obtiens ceci:
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 je tape, sudo apachectl [re]start
rien ne se passe, comme s'il était démarré et que je le saisis à nouveau, il indique qu'il est déjà en cours d'exécution. En outre, le volet Préférences de partage Web est installé ( http://clickontyler.com/web-sharing/ ) et lorsque je passe le commutateur de Off à On, il indique toujours qu'il est désactivé, même si le commutateur est en position On .
Quels fichiers voulez-vous / devez-vous voir? Vraiment besoin de résoudre ce problème dès que possible.
la source
Le problème se produit car Yosemite installe la dernière version d'Apache (2.4) alors que les versions antérieures de Mac OS X utilisaient Apache version 2.2
De l'erreur, il semble que vous n'utilisiez pas la version standard de PHP fournie par Apple mais une version différente fournie par liip.ch. La suppression du signe # comme suggéré par Nuttyx ci-dessus chargera la version Apple de php (5.5.14). Si vous souhaitez continuer à exécuter la version fournie par liip, vous devrez la réinstaller pour qu'elle se charge correctement dans Apache 2.4. Voir une explication détaillée ici: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )
NB Si vous utilisez des hôtes virtuels, vous devrez probablement modifier quelque peu vos fichiers de configuration. En particulier, vous devrez modifier les éléments suivants:
2.2 configuration:
2.4 configuration:
la source
Il semble que vous pouvez résoudre ce problème en supprimant le
#
au début de la ligne suivante dans le/etc/apache2/httpd.conf
fichier:la source
L'exécution de 'sudo apachectl' sans arguments montre le problème dans les fichiers conf. Dans mon cas, la mise à niveau de php l'a corrigé.
Après cela, Apache a de nouveau fonctionné mais j'ai dû reconfigurer les vhosts.
la source
Bien que la question ci-dessus ait été répondue, il existe une autre possibilité de la même erreur comme:
Cela peut se produire si vous avez créé un lien symbolique référencé dans le nom ci-dessus et qu'il n'est pas trouvé. Pour résoudre, créez un lien symbolique fournissant le chemin absolu pour le fichier réel et le même pour le nom de fichier de lien symbolique fourni.
la source