0

今日のある時点で、このエラーが発生し、スクリプトがハングしました。

[21-Aug-2013 08:35:06] PHP Fatal error:  Uncaught exception 'com_exception' with message 'Failed to create COM object `WScript.shell': CoInitialize has not been called.
' in C:\path\to\my\script.php:357
Stack trace:
#0 C:\path\to\my\script.php(357): com->com('WScript.shell')
#1 {main}
  thrown in C:\path\to\my\script.php on line 357

これは、エラーの原因となっている行 (ループ内で実行中) です。

$com = new Com('WScript.shell');

この行は通常正常に実行されるため、ライブラリが不足していることはありません。なぜこれが起こるのでしょうか?

4

3 に答える 3

2

php.ini に移動して、この行を追加します。その後、phpサーバーを再起動します。頑張って

extension=php_com_dotnet.dll 
于 2013-11-18T10:09:39.880 に答える
1

これは、デスクトップ ヒープ割り当てエラーが原因である可能性が最も高いです。確認する 1 つの方法は、Windows イベント ログ (システム カテゴリ) に移動し、「デスクトップ ヒープの割り当てに失敗しました」というエラーまたは警告を検索することです。回避策として、 shell_execの使用を検討できます。

デスクトップ ヒープ割り当てエラーの詳細については、KB 184802を参照してください。

于 2013-12-12T03:07:37.943 に答える