我在安装php的memcached扩展时遇到了很大的问题.
目前使用:
操作系统:Windows 10 x64
PHP:7.0.1通过XAMPP
Apache:2.4.18(Win32)
我已经成功安装了memcached,C:/memcached
正在运行该服务.
但是当尝试添加memcache php扩展时,问题就出现了.我尝试了很多版本,php_memcache.dll
而且似乎没有工作.
我确实在php.ini中包含了扩展名 extension=php_memcache.dll
当我运行php -m
memcache没有列出,并在顶部我收到错误:
PHP启动:无法加载动态库'C:\ xampp\php\ext\php_memcache.dll'
- 找不到指定的模块.
当我尝试运行test.php进行内存缓存初始化时,我会重新启动 Class not found exception
这是一个很大的问题,因为我需要它来运行硒测试.
memcached服务实际上并不为您安装PHP memcached扩展.它仅安装用于存储缓存的memcached服务器.
您需要首先从PECL存储库下载Windows DLL(单击蓝色Windows DLL链接).然后,您必须将该extension=php_memcache.dll
行添加到SAPI的正确php.ini文件中.另请注意,扩展DLL文件需要放在XAMPP安装的正确路径中.
对于Apache,只需在文档根目录中创建一个脚本,然后尝试在Web浏览器中加载该脚本.你应该在顶部看到一行标记为Loaded配置(php.ini),它为您提供了加载的php.ini文件的完整路径.在Windows上,路径实际上可能与
phpinfo()
您通过XAMPP之类的东西安装PHP时所声明的路径不同.因此,您可能需要依靠XAMPP来找到正确的php.ini文件.
对于CLI SAPI,您可以使用它php.exe --ini
来执行相同操作.同样,如果它修改了您的配置路径,您可能需要依赖XAMPP包(因为这是一个编译时指令).
在对php.ini进行更改后,您需要重新启动PHP才能使更改生效.
由于您在Windows上使用PHP 7,因此很可能还需要注意,来自PECL的已编译DLL实际上可能无法在Windows的apache下运行,因为您很可能使用了串行的SAPI.因此,请确保您下载的是正确的版本.据我所知,该版本只能编译为高达PHP 5.6.对于PHP 7的github替代方案,可在https://github.com/nono303/PHP7-memcahe-dll中获得,如评论中所述,在非线程安全下进行测试.因此,您可能只能在Windows上使用CLI脚本.