ホームページ > バックエンド開発 > PHPチュートリアル > AMFEXT for PHP5.3 を Windows にコンパイルしてインストールします

AMFEXT for PHP5.3 を Windows にコンパイルしてインストールします

WBOY
リリース: 2016-06-13 13:02:16
オリジナル
987 人が閲覧しました

Windows で AMFEXT for PHP5.3 をコンパイルしてインストールします
AMFEXT は PHP5.3 バージョンの dll ファイルを公式に提供していないため、自分でコンパイルする必要があります。コンパイルに関する注意事項は次のとおりです:

1. 必要なソフトウェアをダウンロードします。
1)。Win32 バイナリおよびソース コードのそれぞれ
2)。VC6 以降の IDE
3)。2 つの必要なパッケージ
http://www .php .net/extra/bindlib_w32.zip
http://www.php.net/extra/win32build.zip
5) amfext 0.9.2-dev バージョンをダウンロードします


2 . ソフトウェアを適切なディレクトリに解凍します 1) php バイナリ コードを e:php5.3.6 ディレクトリに解凍します (実際には、dev サブディレクトリ内の php5ts.lib ファイルのみが対象です)。 🎜>2) php ソース コードを e:php5.3.6-sources ディレクトリに解凍します
3) amfext 0.9.2 を e:php5.3.6-sourcesextamfext ディレクトリに解凍します
4)。 zip と win32build を同じディレクトリに圧縮します (例: c:win32build)
set path=%path%; c:win32buildbin


3. amfext VC プロジェクトをコンパイルします。 >1) amfext.dsp プロジェクト ファイルを開きます
2) プロジェクトを設定します プロジェクト -> 設定 (Win32 リリース) -> リンク: e:php5.3.6devphp5ts.lib ->アクティブなプロジェクト構成を選択すると、amftext - Win32 リリースが選択されます。
3) amfext をコンパイルします
php5.3 の amfext にはバグがあるため、コンパイル前に amf.c を変更する必要があります


ここで F7 を押してプロジェクトをコンパイルし、
インクルード ファイル '../main/config.w32.h' を開けませんというメッセージが表示され、ファイルが見つからないというメッセージが表示されます。PHP ソース コードのメイン ディレクトリに移動します。ファイルを自分で生成する必要があります。
ステップ 1. PHP ソース コードのルート ディレクトリに移動し、buildconf.bat を実行します。

    //On line 1188, replace:  
    int deallocResult = (*struc)->refcount;  
    //with  
    int deallocResult = Z_REFCOUNT_PP(struc); 
    
    //On line 2674, replace:
    newval->refcount--;
    //with
    Z_DELREF_P(newval);
ログイン後にコピー
PHP ソース コードのルート ディレクトリで、configure.bat を実行します (または cscript /nologo configure.js --with-php-build ="../win32build" --without-libxml --disable-odbc を実行します)
以前に設定された path=%path%;D:win32buildbin がない場合、次のプロンプトが表示されます:
bison.exe を確認しています ..
エラー: bison が必要です

再コンパイルプロジェクトを削除してエラーを報告します。 php_stream_transport.h エラー
の多くは


の形式になっています。これは、マクロによって報告された構文エラーが見つからないためです。このファイルを開き、ファイルの先頭に

..\..\main\streams/php_stream_transport.h(85) : error C2143: syntax error : missing ')' before '*'
..\..\main\streams/php_stream_transport.h(85) : error C2081: 'socklen_t' : name in formal parameter list illegal
ログイン後にコピー
を追加します。

プロジェクトを再コンパイルすると、予想どおり、php ソース コードの ext サブディレクトリに php_amf.dll が表示されます
typedef int socklen_t;
ログイン後にコピー


1階 万螺梁 2011-07-12

チュートリアルをありがとうございました。 。 。 。 。 。 。 。 。 。 。 。 。 。

2階 ライブ711 2011-08-13 コンパイルした DLL をダウンロードして直接使用できますか?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート