問題タブ [php-pthread]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP Pthread クラスの Yii Framework コンテキスト
私はPHP Pthreadsに取り組んでいます。「スレッド」クラスを継承するクラスを作成しました。このクラスは、Yii (1.x) フレームワークのコンテキストを認識しません。Yii フレームワークのコンポーネントやモデルを使用できません。構成の「インポート」で定義された Yii フレームワークのアクセス可能なパスにスレッド クラスが存在する必要があることを確認しました。
以下は、スレッド クラスの記述方法の例です。
アップデート:
Yii config のインポーター配列は次のとおりです。
私は何か間違っていますか?
ありがとう
アーフィーン
php - --enable-maintainer-zts (php pthread を使用するため) を使用して PHP をコンパイルする場合の欠点または副作用
Web アプリケーションがあり、本番環境で PHP 5.5.5 を使用して正常に動作しています。
同じサーバーで、php pthread (v. 2.0.10) を利用するいくつかの PHP スクリプトを実行する必要があります。
(pthreads の使用を許可するために) を使用してphp を再構築し、Web アプリケーションと php-pthread を使用する CLI スクリプトの両方--enable-maintainer-zts
に同じ実行可能ファイルを使用することは安全ですか?
または、PHP の 2 つのビルドを作成しphp
、php-zts
前者を Web アプリ用に、後者を CLI スクリプト用に使用する必要がありますか?
--enable-maintainer-zts
デフォルトでは有効になっていないため、いくつかの欠点があるか、さらに悪いことに (https://github.com/travis-ci/travis-ci/issues/985 で読んだように)誤動作(バグ) が発生する可能性があると思います。
Web スタックは、Mac OS X 10.9.5 上のnginx + php- fpm + mySqlです。
明確にしておきたいのですが、 phtreadはWeb アプリケーション スクリプトでは使用されません。CLI スクリプトのみ。
php - スレッド化されたオブジェクトを多次元連想配列として使用 PHP Pthreads
私の問題
pthreads ベースの CLI アプリケーションで、異なるスレッド間で多次元連想配列を共有しようとしています。私が遭遇している問題は、以前のキーを上書きせずにキーと値を割り当てることです。
簡単な例
実際のコードで達成しようとしていることを反映した簡単な例を作成しました。
これの出力を希望するのは、foo 配列と bar 配列の両方に 20 個のキーと 1 から 20 の範囲の値があることです。
ただし、これの実際の出力は次のとおりです。
https://github.com/krakjoe/pthreads/blob/master/examples/StackableArray.phpに書かれていることを考えると、これはある程度理にかなっています。 ArrayAccess インターフェイスを実行するように設定されていません。」
Threaded::merge を使用しようとすると、同じキーを持つネストされた配列を連結するのではなく、キーを上書きするか (2 番目の引数が true に設定されている場合)、重複を無視します。
私の質問
Threaded を拡張するときに、複数の次元でキーと値を設定および取得するにはどうすればよいですか?
PHP バージョン 7.04 と Pthreads バージョン 3.1.6 を使用しています。
php - PHPで実行中のスレッドにデータを渡す方法は?
では、スレッドを作成してメイン プロセスから切り離し、開始するとします。
strings
では、スレッドが切り離された後、 やint
s のようなデータのチャンクを、すでに実行中のスレッドに渡すにはどうすればよいでしょうか?
編集 私が基本的にやっていることは、WSプロトコルを実装しようとしています:
実行中のスレッドにデータを渡すことに関連するさまざまな回答が見つかりましたが、特にPHP
.
php - PHP7でpThreadsを使用してマルチスレッド化する方法は? ワーカー、プールなど
現在、 pthreads - githubを学習して実装したいと考えています。php7
必要なコンポーネントでコンパイルし、thread-safety
有効になっていることを確認しました。私の現在のコード例には、親クラスに属する 4 つの子クラスがありCanine
ます。以下に示すすべてのクラスから同時にThread
実行するには、それに応じてクラスをどのように呼び出す必要がありますか? bark()
クラスが 4 から 100 に成長したときのスケーリング機能を念頭に置いてください。プールですか。労働者?
php - run関数でスレッドのコンストラクタの変数にアクセスするには?
run 関数で db の値を使用したいと考えています。$db 値を変更せずに run() 経由でスレッド コンストラクター変数にアクセスする方法。
laravel-5 - Laravel コマンド、Pthreads、クロージャ
特定のプロセスを複数のスレッドで実行する必要があります。php の拡張機能である pthreads について学びました。
たとえば、Laravel 以外の単純なスクリプトは問題なく動作し、結果は気に入りました。私は Laravel に移行することに決め、問題に直面しました。もちろん、私はグーグルで検索し、スタックオーバーフローでいくつかの質問を見つけ、そこで拡張機能の作成者に答えました。しかし、私は彼の答えを助けませんでした。
Answered Question 拡張機能の作成者。
クラス App\Commands\QuestionsParserCommand があります。内部で App\My\Questions\QuestionsParser クラスのインスタンスを作成し、init() メソッドを呼び出します。次に、メソッド init() のコード:
クラス ParserWorkers は Worker から継承されますが、空のメソッド run() があります。
その結果、スクリプトを実行すると、php のログに次のメッセージが表示されます。
情報: Laravel 5.2.43、php 7.0.8、Windows
ありがとうございました!
php - 同じ API エンドポイントに対して複数の同時 POST 呼び出しを実行する
複数のPOST
REST 呼び出しを実行しようとしています。問題: 同時に複数の POST 呼び出しを行う。私は完全に認識しており、ライブラリを使用していますguzzle
が、これを適切に行う方法を考え出していません。呼び出しを非同期に実行できますGET
が、同じレベルのPOST
呼び出しはできません。それから私は遭遇pthreads
し、ドキュメントを読み、それを開始する方法について少し混乱しました. 拡張子を付けてコンパイルphp
しました。pthreads
誰かPOST
が同時に複数の呼び出しを実行し、後で操作するために応答を収集できるようにする方法をアドバイスできますか?
以下は、ループして待機する基本的な実装です。全体的に非常に遅い。