手順
環境:
<code> ubuntu14.4 php5.5.9 通过apt-get 安装 </code>
コンパイルしてインストールしたphpとは異なるため、展開するにはphpのソースコードを再ダウンロードする必要があります。
rreee保存ディレクトリはカスタマイズ可能です
ソースコードファイルを開き、「ext」と入力します。ここに拡張機能がたくさんあることがわかります
ここでは、PHP ソース コードの主要なディレクトリと関数について学ぶことができます
./main には PHP のメインマクロ定義が含まれます
./pear には PEAR コア ファイルが含まれています
./sapi には、さまざまなサーバー抽象化レイヤー コードが含まれています
./Zend にはエンジンのすべてのファイルが含まれています
コンパイルとインストール中に組み込まれる php-dev パッケージを使用する必要があります $sudo apt-get install php5-dev
$sudo apt-get install php5-dev
$phpize-v
$phpize-v
インストールが成功したかどうかを確認します
正式に拡張を開始します
ext_skelを使用しますこのファイルはextディレクトリにあります$./ext_skel --extname=newext
このコマンドは多くのチュートリアルで使用されますが、使用中に後続のプロセスで newext.c ファイルが見つからないことがわかりました
今操作を検索すると、「Cannot open /skeleton.c: No such file」と表示されることがわかります。ext_skel
を見ると、skeleton.c が見つからないことがわかります。
したがって、skelのパスを指定する必要があります
元の newext ディレクトリを削除して、もう一度実行します $ ./ext_skel --extname=newext --skel=/usr/lib/php5/skeleton
成功したら戻ります
プロンプトに従って、/newext2/config.m4 のコメントを変更する必要があります
<code>$ <span>sudo</span> apt-get <span>source</span> php5 </code>
ここで、make 不規則なエラーがある場合は、 php-config パスは正しいです
コンパイルが成功すると、次のようになります
<code><span>$cd</span> newext2 <span>$phpize</span> $<span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/bin/php<span>-config</span><span>$make</span></code>
次に、php.ini ファイルを変更します
拡張子 = newext2.so を追加します
cli モードと CGI モードの php.ini ファイルは異なることに注意してください。最初に実験を開始したとき、cli モードで
<code><span>$make</span> test <span>$make</span> install</code>
を使用すると newext2
の拡張子が見つからないことがわかりました。
後で、CGI の下に phpinfo を出力すると、それが表示されます
その後、cli で phpinfo を出力し、php.ini へのパスを見つけて修正し、最終的に成功しました
コンソールの phpinfo 出力が大きすぎる場合は、次の方法を使用できます
<code><span>$usr</span>/bin/php <span>-m</span></code>
パスを見つけて変更します
変更後はApacheを再起動することを忘れないでください
インターネット上に関連するチュートリアルがたくさんあります。「PHPと新しいテクノロジーとベストプラクティス」の第7章を参考に、特に非コンパイルの場合に実際の操作で遭遇した問題をまとめました。 PHP のインストール この場合、主なことは設定ファイルのパスの問題に注意することです。
').addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });上記では、PHP C 拡張機能に関する予備的な研究を、その側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。