我有安装memcached扩展php的巨大问题。
目前使用:
操作系统:Windows 10 x64
PHP:7.0.1通过XAMPP
Apache:2.4.18(Win32)
我已经成功地在C:/memcached
安装了memcached服务正在运行。
但是,当试图添加memcache php扩展时,问题就开始了。 我试过php_memcache.dll
许多版本,似乎没有工作。
我没有在php.ini extension=php_memcache.dll
名中包含扩展 extension=php_memcache.dll
当我运行php -m
memcache没有列出,并在顶部我收到错误:
PHP启动:无法加载dynamic库'C:\ xampp \ php \ ext \ php_memcache.dll'
– 指定的模块无法find。
当我尝试运行一个test.php的memcache初始化我recive Class not found exception
这是一个巨大的问题,因为我需要它来运行seleniumtesting。
memcached服务实际上并没有为你安装PHP memcached扩展。 它只安装用于存储缓存的memcached服务器。
您需要首先从PECL存储库下载Windows DLL ( 单击蓝色的Windows DLL链接 )。 然后,您必须将extension=php_memcache.dll
行添加到SAPI的正确的php.ini文件中。 另外请注意,扩展DLL文件需要放在XAMPP安装的正确路径中。
对于Apache,只需使用<?php phpinfo();
在文档根目录下创建一个脚本<?php phpinfo();
并尝试加载你的网页浏览器。 你应该在标有Loaded configuration(php.ini)的顶部看到一行,它给你加载的php.ini文件的完整路径。 在Windows上,如果通过类似XAMPP的方式安装了PHP,路径可能实际上与phpinfo()
内容不同。 所以你可能需要依靠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,可以在https://github.com/nono303/PHP7-memcahe-dll中获得,如注释中提到的github替代方法在非线程安全下进行测试。 所以你可能只能在Windows上为你的CLI脚本工作。