私の問題を解決するために何時間も検索し、何も役に立たなかった後、私はここで私の最初の質問をします。
コンパイルしてインストールしたいphp 5.3.17 cli with pcntl extension enabled Debianサーバーに。インストールは成功しましたが、php cliを起動すると、次のエラーが表示されます。
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pcntl.so' in Unknown\
on line 0
次の構成が使用されます。
'./configure' '--prefix=/usr/share' '--datadir=/usr/share/php' '--bindir=/usr/bin'
'--libdir=/usr/share' '--includedir=/usr/include'
'--with-config-file-path=/etc/php5/cli' '--disable-cgi' '--enable-bcmath'
'-- enable-inline-optimization' '--enable-mbstring' '--enable-mbregex' '--enable-pcntl'
'--enable-sigchild' '--enable-shmop' '--enable-sysvmsg' '--enable-sysvsem'
'--enable-sysvshm' '--with-mysql' '--with-imap' '--with-imap-ssl' '--with-kerberos'
Php.iniでは、次のオプションが設定されています。
extension_dir=/usr/lib/php5/20090626/
extension=pcntl.so
誰かが私を助けてくれることを願っています。
この投稿の助けを借りて、問題を解決しました stackoverflow answer how-to-enable-process-control-extension-pcntl-in-php-mamp 。
まず、pcntl拡張子/src/php-5.3.17-cli/ext/pcntl
のソースディレクトリに切り替えました。
そこで、シェルで次のコマンドを実行しました。
phpize
./configure
make
次に、拡張機能が/src/php-5.3.17-cli/ext/pcntl/modules
に作成され、cp /src/php-5.3.17-cli/ext/pcntl/module/pcntl.so /usr/lib/php5/20090626/
を使用して正しいディレクトリにコピーしました。
これで、拡張機能は私のphp-cliインストールで機能します。
@ terdonに答えてくれてありがとう、それは私を少し正しい方向に押しやった。
Phpを作成したディレクトリのmodules
サブディレクトリにpcntl.so
というファイルが必要です。それを/usr/lib/php5/20090626/
にコピーします:
Sudo cp PHP_BUILD_DIR/modules/pcntl.so /usr/lib/php5/20090626/
明らかに、PHP_BUILD_DIR
をphpをコンパイルしたディレクトリに変更します。