0

ソケット接続を確立し、サーバーから結果を取得するには、PHP で ac プログラムを実行する必要があります。

ソケット接続を確立するための C プログラムを作成し、サーバーが要求を受け取ります。

C プログラムを .dll ファイルに変換して PHP 拡張機能として使用するにはどうすればよいですか?

4

3 に答える 3

0

方法 1:
クライアントから送信されたファイルを受信し、ディスクに保存することができます。次に、 system
を 使用して、受信したファイルをコンパイルできます。 最後のステップでは、それを実行し、システムを再び使用します。

しかし、コードが何をするかわからないので、危険かもしれないので、そうすることはお勧めしません。ディスク内のすべてのファイルが削除される場合があります。さらに、コードが依存するライブラリがインストールされていない可能性があります。

方法 2:
ローダブル ライブラリを使用する:
1. サーバーに送信されるすべてのコードは汎用インターフェイスを実装する
2. コードをローダブル ライブラリにプリコンパイルする
2. サーバーはコードをディスクに保存する
3. サーバーはライブラリをロードし、汎用インターフェイスを呼び出す
Moreローダブルライブラリについては、こちらをご確認ください

于 2013-07-12T10:05:31.670 に答える
0

Cスクリプトを実行するために、LAMPP、XAMPP、WAMPを備えたコンパイラがないため、PHPでCプログラムを直接実行することはできません。C スクリプトを実行する必要がある場合は、ZEND エンジン標準の C コードで PHP 拡張機能を作成します (PHP から C でパラメーターを受け取る構文を確認してください)。

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls|b", &intNumber, &strVal,  &return_long) == FAILURE) {
         RETURN_NULL();
    }

ウィンドウズ:

このリンクを参照して、C スクリプトで PHP 拡張機能を作成して ください: http://www.dreamincode.net/forums/topic/244215-introduction-to-creating-a-php-extension-for-windows/ ext/ フォルダーに移動し、拡張子名を php.ini ファイルに追加します

Linux:

http://linux.ferhatbingol.com/2013/06/06/how-to-create-php-extensions/ Linux では、デフォルトで .so ファイルは /usr/lib/php5/XXXXXXXX/extension.so に移動し ます、この拡張機能のパスを PHP.ini ファイルに指定します

次に、Apache サーバーを再起動します。最終的に、PHP 拡張機能が正常に動作します。

于 2013-11-04T04:10:04.427 に答える