2017-10-18 28 views
-1

Je peux obtenir PHP pour charger les extensions via la ligne de commande, mais PAS via Apache.Comment obtenir php7 pour charger les extensions via apache

php70 est installé sur FreeBSD (10,3-RELEASE-p20)

en cours d'exécution à partir de la ligne de commande: php -m afficher tous les les modules qui sont installés dans le répertoire des extensions. fichier php.ini est /usr/local/etc/php.ini et les extensions sont définies dans/usr/local/lib/php/20151012

CEPENDANT via apache (en utilisant mod_php), je ne peux pas obtenir le extensions pour exécuter:

<?php 
print_r(php_ini_loaded_file()); 
echo "<br>"; 
print_r(get_loaded_extensions()); 
?> 
<?php 

montre le même fichier .ini (/usr/local/etc/php.ini) mais ne répertorie que quelques modules ( [0] => de base [1] => Date [2] => libxml [3] => pcre [4] => Réflexion [5] => SPL [6] => standard [7] => mysqlnd [8] => apache2handler)

ET le journal des erreurs montre le extensions ne peuvent pas être lus:

  • PHP Warning: PHP Startup: Impossible de charger la bibliothèque dynamique '/usr/local/lib/php/20151012/mysqli.so' - /usr/local/lib/php/20151012/mysqli.so: Undefined symbol " executor_globals " in Unknown on line 0
  • PHP Warning: PHP Startup: Impossible de charger la bibliothèque dynamique '/usr/local/lib/php/20151012/hash.so' - /usr/local/lib/php/20151012/hash.so: Symbole non défini " file_globals " dans Unknown sur la ligne 0

Ceci est pour tous les fichiers situés dans 2.015.102 répertoire

Ces fichiers existent et les autorisations sur tous les répertoires est drwxr-xr-x tous les fichiers ont r + x

aide Apache/2.4.18 (FreeBSD)

Toute aide sera appréciée.

+0

vérifiez également que 'php-fmp -m' contient tous les modules – nbari

+0

il montre en effet tous les modules. Cela signifie-t-il que je devrais apprendre à migrer de mod_php vers php-fmp? – meh

Répondre

0

Peut-être avez-vous mis à jour PHP70 et les extensions associées sans mettre à jour mod_php, qui n'est pas inclus dans le port/package PHP70.

Dans tous les cas, ma première suggestion serait de recompiler PHP70 * et mod_php, puis de redémarrer Apache.

+0

Merci pour la suggestion. Pour être complet, j'ai installé php70, php70_extensions, ports/www/mod_php70 (après l'installation de php70); toujours pas de chance, toujours coincé (w/apache restart). Je suis passé à php-fmp (et ça marche). Cependant, il serait bon de savoir si une solution existe. – meh