如何在Windows上安装PHP 7扩展“memcache”

时间:2016-08-23 17:06:39

标签: php windows memcached php-extension php-7

我在安装php的memcached扩展时遇到了很大的问题。

目前正在使用:

操作系统: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

当我运行php -m没有列出memcache时,在顶部我收到错误:

  

PHP启动:无法加载动态库'C:\ xampp \ php \ ext \ php_memcache.dll' - 无法找到指定的模块。

当我尝试运行test.php进行内存缓存初始化时,我会回复Class not found exception

这是一个很大的问题,因为我需要它来运行硒测试。

1 个答案:

答案 0 :(得分:7)

memcached服务实际上并没有为您安装PHP memcached扩展。它只安装用于存储缓存的memcached服务器。

您需要先下载Windows DLL from the PECL repository点击蓝色Windows DLL链接)。然后,您必须将extension=php_memcache.dll行添加到SAPI的正确php.ini文件中。另请注意,扩展DLL文件需要放在XAMPP安装的正确路径中。

对于Apache,只需在文档根目录中使用行<?php phpinfo();创建一个脚本,然后尝试在Web浏览器中加载该脚本。您应该在顶部标有已加载配置(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的github替代方案,在评论中提到的https://github.com/nono303/PHP7-memcahe-dll处可用,在非线程安全下进行测试。因此,您可能只能在Windows上使用CLI脚本。