APC - Unable to load dynamic library

旧时模样 提交于 2019-12-11 02:54:47

问题


Here is what I have in my PHP.ini:

extension=php_apc.dll
...    
[APC]
apc.enabled = 1

I'm running Apache 2.0.59, PHP version 5.2.3 on Windows Server 2003.

I've already installed XDebug compiled with vc6. Thus, I got the APC version 5.2 vc6. Here are both filenames that I downloaded (and put the *.dll in php/ext/).

php_apc-3.1.5-5.2-vc6-x86.zip php_apc-3.1.5-5.2-nts-vc6-x86.zip

I got them here.

I've tried rebooting the server and in both cases, I get the following error:

PHP Warning:  PHP Startup: Unable to load dynamic library './ext/php_apc.dll' - The specified module could not be found.\r\n in Unknown on line 0

回答1:


Try using the full drive letter and path to extension_dir in php.ini:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "C:\somedir\php\ext"

And restart Apache after making the change.

(It might very well be something else, but this is the first thing I check on Windows systems -- those pesky filepaths.)




回答2:


  1. First, I went here
  2. Then, I downloaded Collection of PECL modules for PHP 5.2.3
  3. Then, I extracted the php_apc.dll file and copied it in the ext/ folder
  4. Restarted Apache
  5. It works!



回答3:


To complete other answers:

Using the non thread safe (NTS) version of the DLL instead of the thread safe one solved the problem for me.

That is, only the NTS version was compatible with my WAMP installation.




回答4:


You could check this:

Note: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

http://php.net/manual/en/apc.installation.php




回答5:


You have to be sure that the DLL has the correct architecture level. I had the same problem trying to load the file from php_apc-3.1.10-5.4-vc6-x86.zip. It didn't work, while the DLL from php_apc-3.1.10-5.3-vc6-x86.zip worked. I don't know how to find the right file without fiddling in the PHP repository though. HTH.




回答6:


My problem was that I had listed apcu before apc.

extension=apc
extension=apcu

Reordering them so apcu was first, solved my issue.



来源:https://stackoverflow.com/questions/9098618/apc-unable-to-load-dynamic-library

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!