0

開発システムにはWindowsを使用しています。PHP、Apache、MySQLを手動でインストールしています。すべてzipパッケージから。今:

phpスレッドセーフバイナリを使用する場合:コマンドラインからphp.exeを実行すると、pdo_mysqlの読み込みに失敗します。次の警告が表示されます。

PHP Warning:  PHP Startup: pdo_mysql: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=1
These options need to match
 in Unknown on line 0

RHEL本番サーバーを確認しましたが、phpスレッドの安全性が無効になっています。だから私はここからスレッドセーフではないバイナリをダウンロードしました。

今、私は別の問題にぶつかりました:Apacheが起動に失敗しています。error.logには次のように書かれています。

[Thu Mar 04 13:54:08 2010] [crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
Pre-configuration failed
[Thu Mar 04 13:54:08 2010] [warn] (OS 995)The I/O operation has been aborted because of either a thread exit or an application request.  : winnt_accept: Asynchronous AcceptEx failed.

Windowsでpdo_mysqlをサポートするphpをインストールするにはどうすればよいですか?それで、コマンドラインphp.exeは機能しますか?

注:スレッドセーフバイナリでは、php.exeはpdo_mysqlをロードしていませんでしたが、PHPAPIはそれをロードできました。phpinfoに表示されていたからです。

4

1 に答える 1

0

ごめん!ばかだった。これが問題であることがわかりました。ApacheはスレッドセーフなSAPIを使用していました。コマンドラインは、ZendCoreが提供するphp.exeを使用していました。

「PATH」環境変数を再構成したので、スレッドセーフパッケージのphp.exeを指すようになりました。問題が解決しました。

于 2010-03-04T09:41:59.693 に答える