如何在 Windows 上安装 PHP 7 扩展 "memcache"
How to install PHP 7 extension "memcache" on Windows
我在安装 php 的 memcached 扩展时遇到了很大的问题。
目前正在使用:
OS: Windows 10 x64
PHP:7.0.1 通过 XAMPP
阿帕奇:2.4.18 (Win32)
我已经在 C:/memcached
中成功安装了 memcached,服务是 运行ning。
但是当尝试添加 memcache php 扩展时问题开始了。我已经尝试了 php_memcache.dll
的多个版本,但似乎都没有用。
我确实在 php.ini extension=php_memcache.dll
中包含了扩展
当我 运行 php -m
内存缓存未列出并且在顶部时我收到错误:
PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_memcache.dll'
- The specified module could not be found.
当我尝试 运行ning test.php 进行内存缓存初始化时,我收到了 Class not found exception
这是一个大问题,因为我需要它来进行 运行ning selenium 测试。
memcached 服务实际上不会为您安装 PHP memcached 扩展。它只安装用于存储缓存的 memcached 服务器。
您需要先下载 Windows DLL from the PECL repository(单击蓝色 Windows DLL link)。然后您必须将 extension=php_memcache.dll
行添加到您的 SAPI 的正确 php.ini 文件中。另请注意,扩展 DLL 文件需要放置在 XAMPP 安装的正确路径中。
对于 Apache,只需在您的文档根目录中使用行 <?php phpinfo();
创建一个脚本,然后尝试在您的 Web 浏览器中加载它。您应该会在顶部看到一行标记为 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。 github 替代方案,用于 PHP 7,可在评论中提到的 https://github.com/nono303/PHP7-memcahe-dll 获得,在非线程安全下进行测试。因此,您可能只能在 Windows.
上为您的 CLI 脚本工作
我在安装 php 的 memcached 扩展时遇到了很大的问题。
目前正在使用:
OS: Windows 10 x64
PHP:7.0.1 通过 XAMPP
阿帕奇:2.4.18 (Win32)
我已经在 C:/memcached
中成功安装了 memcached,服务是 运行ning。
但是当尝试添加 memcache php 扩展时问题开始了。我已经尝试了 php_memcache.dll
的多个版本,但似乎都没有用。
我确实在 php.ini extension=php_memcache.dll
当我 运行 php -m
内存缓存未列出并且在顶部时我收到错误:
PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_memcache.dll'
- The specified module could not be found.
当我尝试 运行ning test.php 进行内存缓存初始化时,我收到了 Class not found exception
这是一个大问题,因为我需要它来进行 运行ning selenium 测试。
memcached 服务实际上不会为您安装 PHP memcached 扩展。它只安装用于存储缓存的 memcached 服务器。
您需要先下载 Windows DLL from the PECL repository(单击蓝色 Windows DLL link)。然后您必须将 extension=php_memcache.dll
行添加到您的 SAPI 的正确 php.ini 文件中。另请注意,扩展 DLL 文件需要放置在 XAMPP 安装的正确路径中。
对于 Apache,只需在您的文档根目录中使用行 <?php phpinfo();
创建一个脚本,然后尝试在您的 Web 浏览器中加载它。您应该会在顶部看到一行标记为 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。 github 替代方案,用于 PHP 7,可在评论中提到的 https://github.com/nono303/PHP7-memcahe-dll 获得,在非线程安全下进行测试。因此,您可能只能在 Windows.
上为您的 CLI 脚本工作