4

私はPHP Pthreadsに取り組んでいます。「スレッド」クラスを継承するクラスを作成しました。このクラスは、Yii (1.x) フレームワークのコンテキストを認識しません。Yii フレームワークのコンポーネントやモデルを使用できません。構成の「インポート」で定義された Yii フレームワークのアクセス可能なパスにスレッド クラスが存在する必要があることを確認しました。

以下は、スレッド クラスの記述方法の例です。

  <?php

    class MultiThreaded extends Thread {


            public function __construct(){

            }

            public function run(){
                       echo Yii::app()->basePath;
            }


    }

アップデート:

Yii config のインポーター配列は次のとおりです。

'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.components.multithreaded-operations.*',
        'application.components.google_api_Lib.src.*',
        'application.controllers.*',
        'application.extensions.yii-mail.*',
        'application.extensions.*',
        'application.commands.*',

    ),  

私は何か間違っていますか?

ありがとう

アーフィーン

4

1 に答える 1

0

システムに pthreads をインストールする必要があります。

ワンプ用 (Windows)

  1. phpinfo() を使用して、「PHP Extension Build」のバージョンを調べます。これを使用できます-http://localhost/?phpinfo=1

  2. php バージョン (32 ビットまたは 64 ビット) と php 拡張ビルド (現在使用されている VC11) に一致する pthreads をダウンロードします。ダウンロードにはこのリンクを使用してください - http://windows.php.net/downloads/pecl/releases/pthreads/

  3. zip を解凍します - php_pthreads.dll を「bin\php\ext\」ディレクトリに移動します。

    pthreadVC2.dll を「bin\php\」ディレクトリに移動します。

    pthreadVC2.dll を「bin\apache\bin」ディレクトリに移動します。

    pthreadVC2.dll を「C:\windows\system32」ディレクトリに移動します。

  4. php\php.ini を開き、extension=php_pthreads.dll を追加します。

サーバーを再起動すれば完了です。

Linux システムの場合:

1) PHP ソースをダウンロードし、PHP を展開します。

2) PEAR wget http://pear.php.net/go-pear.phar php go-pear.phar をダウンロードします。

3) pthreads をダウンロード PECL 拡張機能を取得 (PECL は PHP 拡張機能のリポジトリです)

pecl インストール pthread-0.4.4

4) pthreads をアンパックし、pthread-0.4.4 を php/ext にコピーします (./configure の場合、オプション --enable-pthreads を追加できます)。

mv ビルド/php-src-master/ext/pthreads-master ビルド/php-src-master/ext/pthreads

5) ソースを再構成する

./buildconf --force

./configure --help | grep pthreads

結果として適切な --enable-pthreads オプションが表示されるはずです。表示されない場合は、

rm -rf aclocal.m4

rm -rf autom4te.cache/

./buildconf --force

6) PHP のビルド PHP ソースコードのコンパイル 追加:

./configure --enable-debug --enable-maintainer-zts --enable-pthreads

7) PHP のインストール

作る

sudo make install

8) php.ini の更新 php.ini に追加します extension=pthreads.so Include_path = “/usr/local/lib/php”</p>

9) モジュールの確認 php -m (読み込まれた pthread の確認)

10) テストスレッドクラス

php SimpleTest.php

このリンクはよりよく説明します。

これがあなたを助けることを願っています:)

于 2016-01-18T09:35:33.647 に答える