以下是我在PHP.ini中的内容:
extension=php_apc.dll
...
[APC]
apc.enabled = 1
我在Windows Server 2003上运行Apache 2.0.59,PHP版本5.2.3。
我已经安装了使用vc6编译的XDebug。因此,我得到了APC版本5.2 vc6。这是我下载的两个文件名(并将* .dll放在php / ext /)中。
php_apc-3.1.5-5.2-vc6-x86.zip php_apc-3.1.5-5.2-nts-vc6-x86.zip
我得到了他们here。
我尝试重新启动服务器,在这两种情况下,我都收到以下错误:
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
答案 0 :(得分:4)
尝试使用extension_dir
中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"
在进行更改后重新启动Apache。
(它可能是其他东西,但这是我在Windows系统上检查的第一件事 - 那些讨厌的文件路径。)
答案 1 :(得分:1)
答案 2 :(得分:1)
完成其他答案:
使用DLL的非线程安全(NTS)版本而不是线程安全版,解决了我的问题。
也就是说,只有NTS版本与我的WAMP安装兼容。
答案 3 :(得分:0)
您可以查看:
注意:在Windows上,APC需要存在临时路径,并且可由Web服务器写入。它按顺序检查TMP,TEMP和USERPROFILE环境变量,如果没有设置,最后会尝试WINDOWS目录。
答案 4 :(得分:0)
您必须确保DLL具有正确的体系结构级别。尝试从php_apc-3.1.10-5加载文件时遇到同样的问题。 4 -vc6-x86.zip。它没有用,而来自php_apc-3.1.10-5。 3 -vc6-x86.zip的DLL工作正常。我不知道如何找到正确的文件,而不是在PHP存储库中摆弄。 HTH。
答案 5 :(得分:0)
我的问题是我在apc之前列出了apcu。
extension=apc
extension=apcu
重新排序它们,以便首先使用apcu,解决了我的问题。
答案 6 :(得分:0)
就我而言,我正在使用 macOS Catalina ,并尝试为 PHP 5.6 安装扩展名 APCU 。
所以我运行了以下命令:
brew install autoconf
pecl channel-update pecl.php.net
pecl install apcu-4.0.11
在此阶段,我的php5.6 ini得到了输入 extension =“ apcu.so” 但是我收到警告说apcu.so不在 / usr / local / lib / php / pecl / 20131226 / 目录。
安装程序将 apcu.so 放在 /usr/local/Cellar/php@5.6/5.6.40/pecl/20131226/apcu.so
所以我将apcu.so复制到了所需的目录
cp /usr/local/Cellar/php@5.6/5.6.40/pecl/20131226/apcu.so /usr/local/lib/php/pecl/20131226/
我完成了。