2017-10-18 12 views
-1

拡張機能をロードするには、コマンドラインからphpを入手できますが、apacheではできません。 PHPの-m 示す拡張ディレクトリにインストールされているすべてのモジュール:php7にApache経由でエクステンションをロードする方法

php70は、FreeBSD(10.3-RELEASE-P20)、コマンドラインから実行

にインストールされています。 php.iniファイルは/usr/local/etc/php.iniであり、拡張子は/ usr/local/lib/php/20151012で定義されています。

どのようにApache(mod_phpを使用)を使用しても、実行するための拡張機能:

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

は同じ.iniファイル(/usr/local/etc/php.ini) を示すが、わずか数のモジュール( [0] =>コア[1] =>日付を示しています[2] => libxml [3] => pcre [4] =>リフレクション [5] => SPL [6] =>標準[7] => mysqlnd [8] => apache2handler)

エラーログには、拡張子を読み取ることができません。

  • PHPの警告:PHPのスタートアップ:動的ライブラリ '/usr/local/lib/php/20151012/mysqli.so' をロードできません - は/ usr/local/lib/PHP/20151012/mysqli.so:PHPのスタートアップ:動的ライブラリ をロードできません '/usr/local/lib/php/20151012/hash.so' 行0
  • PHPの警告に未定義のシンボル " executor_globals不明で" - /usr/local/lib/php/20151012/hash.so:未定義のシンボル " file_globals " in Unknown 0行

これは2015102ディレクトリ

これらのファイルが存在しないにあるすべてのファイルのためのものであり、すべてのディレクトリのパーミッションは、drwxr-xrと-X すべてのファイルが持っているR + X

使い方Apache/2.4.18(FreeBSD)

何か助けていただければ幸いです。

+0

'php-fmp -m'にすべてのモジュールが含まれていることを確認してください。 – nbari

+0

実際にはすべてのモジュールが表示されます。それは私がmod_phpからphp-fmpに移行することを学ばなければならないということですか? – meh

答えて

0

PHP70のポート/パッケージには含まれていないmod_phpを更新せずにPHP70および関連する拡張機能に更新した可能性があります。

いずれにしても、私の最初の提案はPHP70 *とmod_phpを再コンパイルしてApacheを再起動することです。

+0

提案していただきありがとうございます。完全性のために、php70、php70_extensions、ports/www/mod_php70(php70のインストール後)をインストールしました。まだ運がない、まだ立ち往生している(Apacheの再起動時)。私はphp-fmpに移動しました(それは動作します)。ソリューションが存在するかどうかを知ることは素晴らしいことです。 – meh

関連する問題