5

PHP の ssh2 拡張機能をインストールしようとしていますが、少し問題があります。ファイルはそこにありますが、phpにロードされていません。

まず、ssh2 を次のようにインストールしました。

 aptitude install libssh2-1-dev libssh2-php

(価値があるので、NginxでUbuntu 12.04を実行しています。)

modules コマンドを使用して ssh2 がロードされていることがわかります。

php -m |grep ssh2
ssh2

ただし、コードを実行すると、未定義関数エラーが発生します。

私の phpinfo() スクリプトでは、私の php インストールがこのディレクトリをスキャンして追加の ini ファイルを探していることがわかります: /etc/php5/fpm/conf.d. そのディレクトリの内容を一覧表示すると、ssh2.ini がそこにあることがわかります。

ls /etc/php5/fpm/conf.d
mysqli.ini  mysql.ini  pdo.ini  pdo_mysql.ini  ssh2.ini  

phpinfo によると、他の 4 つの ini ファイルが読み込まれています。SSH2 は違います。

また、php.ini ファイル (/etc/php5/fpm/php.ini) に「extension=ssh2.so」を直接配置しようとしました。はい - nginx サーバーを再起動しました。

他に何か不足していますか?

4

2 に答える 2

4
  1. display_startup_errors = Onphp.ini に設定します
  2. error_log = '/var/log/php-error.log'php.ini に設定します
  3. エラーログを作成 -touch /var/log/php-error.log

これで、php5-fpm デーモンを再起動し、エラー ログで ssh2 モジュールのエラーを検索できます。

于 2014-01-04T21:54:31.187 に答える