システムはubuntu 12.04、Apacheとphpがインストールされており、phpのバージョンは5.3.10です。
次の操作中に権限の問題が発生した場合は、root 操作に切り替えることをお勧めします。
1. ソースコードをダウンロードします
php 5.3.10のソースコードを確認してください
コードをコピーしてください コードは次のとおりです:
$ svn checkout https://svn.php.net/repository/php/php-src/ブランチ/PHP_5_3_10/
ヒント: このコマンドがない場合は、まず apt-get を使用して svn を ubuntu に直接インストールする必要があります。
コードをコピーします コードは次のとおりです:
$ sudo apt-get install subversion
PHP ソース コードに関して、さらに詳しい情報が必要な場合は、PHP Wiki で svn の説明を確認できます: https://wiki.php.net/vcs/svnfaq
2.モジュールを作成する
a. ソース コードがチェックアウトされたら、ソース コードの ext ディレクトリに入り、最初に ext_skel を使用してモジュール名を作成します。
コードをコピーします コードは次のとおりです:
$ ./ext_skel --extname=my
b. モジュールを入力します:
コードをコピーします コードは次のとおりです:
$ cd my
c. config.m4 ファイルを変更し、次の内容を見つけます。
コードをコピーします
コードは次のとおりです:dnl PHP_ARG_WITH(my, for my support,
dnl コメントが整列していることを確認してください:
dnl [ --with-my Include my support])
以前のDNLを削除すると、最終結果は次のようになります:
コードをコピーします
コードは次のとおりです:PHP_ARG_WITH(私のサポートのため、
コメントが揃っていることを確認してください:
[ --with-my私のサポートも含めてください])
その後、ファイルを保存します。
ヒント: 変更が正しいかどうかをテストする必要がある場合は、php my.php を使用してテストできます:
コードをコピーします
コードは次のとおりです:$ php my.php
confirm_my_compiled
おめでとうございます! ext/my/config.m4 が正常に変更されました。これでモジュール my が PHP にコンパイルされました。
上記のconfirm_my_compiledは、モジュールのデフォルト関数です。後でモジュールをロードした後、この関数を呼び出すことができます。
3. モジュールをコンパイルする
引き続きモジュールのディレクトリで次のコマンドを実行します:
コードをコピーします
コードは次のとおりです:
$ phpize$ ./configure$ make$ make install
コンパイルが成功すると、次のメッセージが表示されます:
コードをコピーします
コードは次のとおりです:
共有拡張機能のインストール: /usr/lib/php5/20090626+lfs/
モジュールがコンパイルされ、php モジュール ディレクトリにコピーされたことを示します。
ヒント: phpize コマンドが見つからない場合は、apt-get を使用して php5-dev を ubuntu に直接インストールする必要があります。
コードをコピーします
コードは次のとおりです:
$ apt-get install php5-dev
4. モジュールをロードする
ファイルを編集します:
コードをコピーします
コードは次のとおりです:
$ vim /etc/php5/conf.d/my.ini
次のコンテンツを追加して my.so モジュールをロードし、保存します。
コードをコピーします
コードは次のとおりです:
extension=my.so
Apacheを再起動
コードをコピーします
コードは次のとおりです:
$ /etc/init.d/apache2 restart
Web 環境では、phpinfo を使用して、モジュールがロードされているかどうかを確認できます。ターミナルは php -iless | を使用して表示できます。
5. テストプログラムを書く
上記がスムーズに実行されると、myモジュールがロードされ、myモジュールのデフォルトメソッドconfirm_my_compiledを呼び出すことができます。 php テスト ファイルを作成します:
コードをコピーします コードは次のとおりです:
echoconfirm_my_compiled("Hello");
テストファイルを実行し、以下の出力が表示されれば成功です。
コードをコピーします コードは次のとおりです:
おめでとうございます! モジュール Hello が PHP にコンパイルされました。
http://www.bkjia.com/PHPjc/621656.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/621656.html技術記事システムはubuntu 12.04、Apacheとphpがインストールされており、phpのバージョンは5.3.10です。 次の操作中に権限の問題が発生した場合は、root 操作に切り替えることをお勧めします。 1. ソースコードをダウンロードしてチェックアウトしてください...