このファイルの 16 行目から 19 行目までの数行のコメントを削除して、ファイル (:wq) を保存します。
ステップ 5.
PHP ソースコードのルートディレクトリでコマンド ./buildconf --force
を実行します。
ステップ 6.
PHP ソース コードのルート ディレクトリで PHP プログラムをコンパイルします。コマンドは ./configure --with-helloworld
であることに注意してください。最後に発生したエラーは処理されませんでした
ステップ 7. 拡張機能ディレクトリ helloworld に入り、phpize コマンドを実行します (sudo apt-get install php5-dev を通じて phpize をインストールします)。この時点で、拡張機能ディレクトリには、後のコンパイルに使用できる多くのファイルが生成されます。
ステップ 8. helloworld ディレクトリで拡張機能をコンパイルします。/configure --with-php-config=/usr/bin/php-config (独自の環境の php-config を使用します) --enable-helloworld
図に示すように、コマンド (find / -name php-config) を使用して php-config ファイルの場所を見つけることができます: 私のアドレスは /usr/bin/php-config です
ステップ 9. 拡張機能 helloworld ディレクトリに入り、ファイル php_helloworld.h を編集し、関数 PHP_FUNCTION(helloworldTest);
を最後の行に追加します。helloworldTest はお好みの名前に変更し、保存して終了します
ステップ 10. vim を使用して helloword.c を開き、helloworld.c に関数を実装してから、helloworldTest 関数を helloworld_functions[] に追加し、保存して終了します
ステップ 11. make コマンド make を実行して拡張機能をコンパイルします。比較的スムーズに実行できました。エラーが発生した場合は、前の手順に誤りがあるかどうかを注意深く確認してください。私も初めて実行したときに、通常、前の手順に問題がありました。
ステップ12. コンパイルされたhelloworld.soファイルをローカルのphp拡張ディレクトリにコピーします
拡張子ディレクトリは、php -r phpinfo() を介して表示でき、ネイティブ php の拡張子パスを表示します
ステップ 13. helloworld.so 拡張機能を有効にするように php.ini を設定します
php.iniの場所を表示します(php -r phpinfo(); | grep php.ini )
vim sudo vim /etc/php5/cli/php.ini で php.ini ファイルを開きます
ファイルの最後に拡張子(extension=helloworld.so)を追加します
php -r phpinfo() によってテストされました
ステップ 14. テスト拡張機能 (php -r echo helloworldTest();)
このプロセスでは、元の作成者の手順に従ってみましたが、エラーが発生しました
デバッグ後、元の作成者は helloworld.c ファイルに helloworld_functions[] を追加するときに PHP_FE_END を {null, null, null} に変更しましたが、エラーは発生しませんでしたが、変更後に PHP_FE_END もコメントしました。再コンパイルしてコピーします。