0

次のリンクを使用して、1 つの単純な PHP 拡張機能を作成しました。

Ubuntu での Hello World PHP 拡張機能のサンプル

としてPHP拡張機能を正常に作成しましたhello.so。私はXAMPPパッケージを使用しました。この中にこれを移動hello.so/opt/lampp/modules/ 、次の行を含めました。

extension=hello.so in /opt/lampp/etc/**php.ini**

それでも、次のようにコマンドプロンプトから関数を呼び出した場合:

$ php -r ‘hello_world();’

Function undefined としてエラーが発生しています。

4

2 に答える 2

0

PHP拡張機能をビルドするにはC、Linux` でファイルを作成した後、次のコマンドを実行する必要があります。

$ phpize
$ ./configure --enable-hello
$ make

そして実行することを忘れないでください:

$ sudo make install

このコマンドを実行すると、デフォルトで、新しく作成された拡張モジュール ( .so) がデフォルトの動的拡張パスに移動されます (パスは、そのコマンドの実行後に表示されます)。

PHP.INI次に、セクション内のファイルにこの動的拡張パスを記述し、セクションにファイルdynamic_extension directoryを含めます。次に、サーバーを再起動すると、間違いなく正常に動作します。.soDynamic ExtensionApache

于 2013-11-20T09:27:38.883 に答える
0

最初に、拡張子が正常に含まれているかどうか、php.ini ファイルをテストします。確認するには、phpinfo() 関数を呼び出します。

そこにあるなら

php -r 'echo hello_world();'

これをコマンドプロンプトで実行します。コマンドの実行中にエコーが欠落していると思います。エコーを使用しているのは、何かを返すためです。

注: 拡張機能を含めた後、Apache サービスを再起動してください。

sudo service apache2 restart
于 2013-09-25T10:12:39.780 に答える