FreeBSD 8.1 Apache 2.2 tente de charger le module PHP 5.3.2 à partir d'un emplacement de débogage inexistant

0

J'essaie de lancer une installation de Gallery2 sur mon ordinateur FreeBSD 8.1 (mis à niveau). Il s’agissait de FreeBSD 6.2 et Gallery2 y travaillaient auparavant. Espérons que mon problème n’est pas très lié à Gallery2.

Ce que je suis en train de vivre actuellement (à part d’autres choses qui sont - je l’espère - non liées), c’est que Apache (2.2.15) quelqu’un (quand je (tente de) naviguer dans Gallery2) essaie de charger un module appelé pcre.so. Il semble chercher ce module dans /usr/local/lib/php/20090626-debug. Maintenant, ce chemin n’existe plus (plus?). Il n’existe pas (c’est-à-dire ne devrait pas être) de construction de débogage PHP sur la machine.

Voici l'entrée du journal de /var/log/httpd-error.log:

Unknown(0) : Warning - PHP Startup: Unable to load dynamic library
        '/usr/local/lib/php/20090626-debug/pcre.so' - Cannot open
        "/usr/local/lib/php/20090626-debug/pcre.so"

Je me demande d'où vient ce chemin ... Il y a le répertoire /usr/local/lib/php/20090626/ par exemple mais il n'y a pas pcre.so en elle non plus. Aussi le port devel/php5-pcre a été éliminé (apparemment parce que pcre est en lang/php5 à présent?).

J'ai d'abord compilé PHP en mode débogage (par erreur). Mais j'ai supprimé et réinstallé PHP (et toutes les extensions) et même Apache entre-temps - toujours la même entrée de journal continue à apparaître.

Il existe un deuxième type d’entrée de journal que je ne peux pas expliquer (de /var/log/httpd-error.log encore):

<br />
<b>Warning</b>:  Directive 'magic_quotes_gpc' is deprecated in PHP 5.3
        and greater in <b>Unknown</b> on line <b>0</b><br />

Mais je ne trouve rien qui référence / utilise magic_quotes_gpc (par exemple, il n’est pas en /usr/local/etc/php.ini ou plus précis il est commenté là-bas).

Quelqu'un peut-il indiquer pourquoi Apache pourrait rechercher un module (obsolète) dans un chemin obsolète / inexistant?

scherand
la source

Réponses:

0

Essayez de supprimer prce, vérifiez si cela fonctionne, sinon, supprimez les répertoires php puis reconstruisez php 5:

$ sudo apt-get remove php5-pcre
$ rm -rf /usr/local/include/php /usr/local/lib/php /usr/local/etc/php
BloodPhilia
la source
je n'ai pas apt-get (sur FreeBSD). Mais je comprends toujours le point, il n'y a pas php5-pcre tu. Et je l'ai déjà fait (plus ou moins) ("J'ai supprimé et réinstallé PHP (et toutes les extensions) ..."). Ce serait probablement mieux si j'essayais de réinstaller devel/pcre lui-même ... Peut-être que ça va aider?
scherand
@scherand - Ah! C'est mon habitude Ubuntu! ;) Désolé pour ça ... Quoi qu'il en soit, avez-vous supprimé tous les répertoires PHP?
BloodPhilia
Réinstallation devel/pcre lui-même ne va pas aider, le problème est avec PHP (ancien) pcre.so module, pas avec la bibliothèque partagée de pcre, qui vit dans /usr/local/lib/libpcre.so.
lapo
oui, je crois avoir tout enlevé?!? @ Lapo: Je comprends votre cas, mais j'ai quand même essayé. Et - surprise - l'erreur semble avoir disparu. Au moins, je n’ai reçu aucun de ces messages de journal /var/log/httpd-error.log depuis un certain temps maintenant ... Je ne peux pas expliquer cela cependant :(
scherand
0

Les ports d’extension ne polluent pas le principal php.ini fichier mais insteaf ils modifient /usr/local/etc/php/extensions.ini, vous devez probablement le supprimer de là (mais c’est étrange, car ce fichier n’utilise pas de chemins complets, mais uniquement le nom du fichier; cela aurait également dû être pris en charge lors de la désinstallation du paquet, il serait peut-être préférable de vérifier avec pkg_info|fgrep php si vous l'avez toujours, et dans ce cas pkg-delete il).

lapo
la source
Il n'y a rien à propos de pcre dans /usr/local/etc/php/extensions.ini. Mais je pense que j'ai réussi à me débarrasser de l'erreur maintenant (voir Commentaire sur la réponse de @ BloodPhilia). Merci quand même!
scherand
0

Réinstallation devel/pcre semble avoir résolu le problème. Voir mon commentaire à BloodPhilia's Answer .

Je ne sais pas pourquoi cela a fonctionné.

scherand
la source