pthreadsを導入したいのでphp_pthreads.dll等を設置したつもりなのですが、php.exe -vを起動させると「プロシージャ エントリ ポイント GetTickCount64 がダイナミックリンクライブラリ KERNEL32.dll から見つかりませんでした。」「PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pthreads.dll' - 指定されたプロシージャが見つかりません。」エラーが発生します。そのうえでApacheを再起動させましたがやっぱりphpinfo()で計測した限りでは動作していないようでした。対応方法についてご存知の方教えてください。


XAMPP Control Panel v3.2.1とそれに付属していたPHP 5.4.16 (cli)をWindows XP SP3 Home Edition (32bit)上で動作させています。
php_pthreads.dllの5.5.4.0は、 C:\xampp\php\ext に設置しました。
pthreadVC2.dllの2.9.1.0は、 C:\xampp\php に設置しました。
C:\xampp\php\php.ini には、extension=php_pthreads.dllを記載しています。
「Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)」「Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ」は導入済みです。

よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/12/05 14:24:22
  • 終了:2013/12/09 18:19:01

ベストアンサー

id:TransFreeBSD No.1

TransFreeBSD回答回数661ベストアンサー獲得回数2642013/12/07 11:06:17

ポイント300pt

こちらを見るとXP非対応のようです。
http://d.hatena.ne.jp/prog_pc/20090526/1243331369

GetTickCount64
GetTickCount関数と同様ですが、64bit符号なし整数を返します。Windows VistaかServer 2008が必要とのことです。


http://windows.php.net/downloads/pecl/releases/pthreads/0.0.45/
VC9版とVC11版があるっぽいのでVC9版にすれば良いのではないでしょうか。

id:halohalolin

TransFreeBSDさんありがとうございます。

php_pthreads-0.0.45-5.4-ts-vc9-x86.zip を導入してみましたところ
php.exe -vの際、エラーは出なくなりました。

しかし、「XAMPP Control Panel v3.2.1」からApacheを再起動すると、相変わらず「Warning PHP Startup:」が発生します。
またphpinfo()で計測した限り、動作していないようでした。

2013/12/08 00:53:11
id:halohalolin

あわせて「pthreadVC2.dllを、C:\WINDOWS\system32にコピー」する必要がありました。

よろしくお願いいたします。

2013/12/09 18:18:36
  • id:fiwa
    LoadFile "C:/xampp/php/pthreadVC2.dll"
    をhttpd-xampp.conf に追加する必要があるとマニュアルページのコメント等にあるようですが。

    http://php.net/manual/ja/pthreads.installation.php#113019
    http://stackoverflow.com/questions/18819784/not-able-to-install-pthread-on-windows-xampp
  • id:halohalolin
    fiwaさんありがとうございます。

    LoadFileには何も記載せず、
    php_pthreads-0.0.45-5.4-ts-vc9-x86.zip に入っていた、pthreadVC2.dllを、C:\WINDOWS\system32にコピーすると
    phpinfo()内にpthreads欄が現れ
    Version 0.45-rc と表示されるようになりました。

    下手にpthreadVC2.dllの保存先をLoadFileに記載すると、以下のようなエラーが、Apache起動プロセスで発生し、Apache自体が起動できなくなります。

    ---------------------------
    Microsoft Visual C++ Runtime Library
    ---------------------------
    Runtime Error!

    Program: c:\xampp\apache\bin\httpd.exe

    R6034
    An application has made an attempt to load the C runtime library incorrectly.
    Please contact the application's support team for more information.

    以上です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません