問題タブ [pthreads-win32]
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 から Python スクリプトを呼び出す
PHP を使用して、ブラウザーに Python の出力を表示しています。Python スクリプトは出力を表示するのに時間がかかるため、Python スクリプトの実行が完了するまでユーザー インターフェイスがハングします。
Pthreads for Windows は、Python スクリプトを呼び出すshell_exec( )関数をマルチスレッド化するために、PHP で有効になっています。Pthreads を使用しているにもかかわらず、ユーザー インターフェイスは依然としてハングします。
コードは次のとおりです。
マルチスレッドを使用しても、Python Neural Net スクリプトの呼び出し中にユーザー インターフェイス (PHP によって生成された) がハングします。
何が原因でしょうか?
c++ - HAVE_STRUCT_TIMESPEC ディレクティブを NMAKE コマンド ラインに渡しても pthread が修正されない
現在、ここから pthread-win32をビルドしようとしています(バージョン 2.7.0)。プロジェクトをチェックアウトしNMAKE VC-static
、VS2015 開発者コマンド プロンプトから実行して結果を表示できます。ビルド時にエラーが発生しました:
エラー C2011: 'timespec': 'struct' 型の再定義
HAVE_STRUCT_TIMESPEC
プリプロセッサ ディレクティブ( source )を追加することで解決すると思います。
修正の正しい適用を示すために、最初に警告を黙らせることにしました。特に警告:
警告 C4996: '_ftime64': この関数または変数は安全でない可能性があります。代わりに _ftime64_s の使用を検討してください。非推奨を無効にするには、_CRT_SECURE_NO_WARNINGS を使用します。詳細については、オンライン ヘルプを参照してください。
これは、定義するように明示的に指示します_CRT_SECURE_NO_WARNINGS
。MSによると、コマンドラインで-D
orを使用してプリプロセッサ ディレクティブを定義する必要があります。/D
次のようにして、警告を黙らせることに成功しました。
しかし、エラーを修正するために同じことをすると:
解決しません。
この修正は、さまざまなライブラリのいくつかのソース、pthread バグ修正レポートの両方に記載されています。ここでは、私の状況でこの修正をどのように適用できますか?
php - PHP の pthread に関する問題
PHP の pthreads に問題があります。
Apache を起動すると、次のようなエラーが表示されます。
CMD でスクリプトを実行すると、次の警告が表示されます。
pthreadVC2.dll を次の場所にコピーしました。
そして、最後のファイル php_pthreads.dll を次の場所にコピーしました。
php.ini 行に次のように追加しました。
私の設定:
- Windows 10 の XAMPP
- PHP バージョン 7.3.0
- コンパイラ: MSVC15 (Visual C++ 2017)
- アーキテクチャ: x86
- スレッド セーフが有効になっている
- スレッド API は Windows スレッドです
- https://windows.php.net/downloads/pecl/releases/pthreads/3.1.6/からダウンロードした php_threads 3.1.6 x86
私はphp 7.2.xで試しましたが、同じ問題がありましたが、他のApache起動エラーメッセージがありました。多分誰かが私を助けることができます。