私はApache x64を正常にコンパイルした後、PHP 5.3.29および5.4.45リリースx86を使用して、DLLファイルは有効なWin32ではありません。アプリケーション。Visual Studio 2008 SP1、Visual C++ 2008(x64およびx86)をインストールしました。
私が使用するファイルのリスト:
1、_php-5.3.29-src.Zip
_および_php-5.4.45-src.Zip
_ windows.php.netで取得しました
2、Oracleでは_instantclient-sdk-win64-10.2.0.5.Zip
_および_instantclient-sdk-windows.x64-11.2.0.4.0.Zip
_。
コンパイル手順:
_call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_AMD64 (I tried using the commands in Visual Studio Tools, it also got the same error)
cd /D C:\php-sdk (I extracted the source file and renamed the directory into php-sdk)
buildconf --force
configure --enable-snapshot-build --disable-isapi --enable-debug-pack --without-mssql --without-pdo-mssql --without-pi3web --with-pdo-oci=C:\php-sdk\Oracle\instantclient10\sdk,shared --with-oci8=C:\php-sdk\Oracle\instantclient10\sdk,shared --with-oci8-11g=C:\php-sdk\Oracle\instantclient11\sdk,shared --enable-object-out-dir=../obj/ --enable-com-dotnet=shared --with-mcrypt=static --disable-static-analyze
_
phpinfo()
でx86リリースされたphpのコマンドラインから取得しました。instantclient-sdk-win64-10.2.0.5.Zip
_を解凍し、_php-sdk
_にOracle
ディレクトリを作成し、抽出したフォルダーを移動して、名前を_instantclient10
_に変更しました。instantclient11
_上記と同じことをして、_instantclient-sdk-windows.x64-11.2.0.4.0.Zip
_から取得しました。次に、_nmake snap
_を使用します
しかし、エラーが発生しました:
_c:\php-sdk\zend\zend_execute.h(234) : warning C4267: 'function' : conversion fro
m 'size_t' to 'int', possible loss of data
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\BIN\x86_AMD64\cl.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\BIN\nmake.exe"' : return code '0x2'
Stop.
_
次に、configure
の_--enable-snapshot-build
_を削除してみましたが、今回はnmake
を使用しました。そして、私は別のエラーに遭遇しました:
_ext\mysqlnd\mysqlnd_net.c(31) : fatal error C1083: Cannot open include file: 'zl
ib.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\BIN\x86_AMD64\cl.exe"' : return code '0x2'
Stop.
_
問題はzlibに関連していると思います。_--disable-zlib
_をconfigure
に追加しました。今回は、建設プロセスが成功します。ただし、_php5ts.dll
_、_php_com_dotnet.dll
_、_php_oci8.dll
_、_php_oci8_11g.dll
_、_php.exe
_および_php-cgi.exe
_のみが表示されます。 root
(ビルド出力ディレクトリ)とext
フォルダーにDLLファイルがありません。
誰かが私にx86リリースのような完全なビルドガイドを提供できますか?
よろしくお願いします。
あなたの問題は、64ビットのApacheと32ビットのPHPを混合しているようです。それは可能ではありません。
別の32ビットPHPをPHP-FPMまたはFastCGIで実行できます。 FastCGIは、5.3以降、すべてのPHP 5.xバージョンおよびPHP-FPMで使用できます。ただし、実際には supported PHP バージョンにアップグレードする必要があります。2020年5月の時点で、PHP 7.3および7.4にはアクティブなサポートがあり、PHP 7.2のセキュリティサポートがあります。