作者:你的拥吻像情歌一样凄美_207 | 来源:互联网 | 2022-12-09 16:00
我在apache/php windows 10上有memcache扩展(最后的细节)
创建了一个简单的测试:
$memcache = new Memcache;
$memcache->addServer("ext-memcached.e-memcached.xxx.net",11211);
$memcache->addServer("ext-memcached.e-memcached2.xxx.net",11211);
$memcache->addServer("ext-memcached.e-memcached3.xxx.net",11211);
$key='xxx_54921';
$settings = $memcache->get($key);
print_r ($settings);
memcache服务器在AWS上运行良好(生产服务器).此测试代码有效 - 它从内存缓存服务器中检索值.但是,如果我等待几分钟并刷新它将不会返回值.然后如果我再次刷新它将返回值.
相同的代码/配置适用于另一台开发计算机.
是什么导致这个?
Config:
PHP Version 5.6.34
Windows NT SPECTRE 6.2 build 9200 (Windows 8 Home Premium Edition) i586
Build Date Feb 28 2018 17:45:55
Compiler MSVC11 (Visual C++ 2012)
Architecture x86
Memcache extension:
ts x86 version from here:
https://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
memcache info:
memcache support enabled
Version 3.0.8
Revision $Revision: 329835 $
Directive Local Value Master Value
memcache.allow_failover 1 1
memcache.chunk_size 32768 32768
memcache.compress_threshold 20000 20000
memcache.default_port 11211 11211
memcache.hash_function crc32 crc32
memcache.hash_strategy standard standard
memcache.lock_timeout 600 600
memcache.max_failover_attempts 20 20
memcache.protocol ascii ascii
memcache.redundancy 1 1
memcache.session_redundancy 2 2
小智..
5
memcached服务实际上并未为您安装PHP memcached扩展。它仅安装用于存储缓存的memcached服务器。
您首先需要从PECL存储库下载Windows DLL(单击蓝色的Windows DLL链接)。然后,必须将extension = php_memcache.dll行添加到SAPI的正确php.ini文件中。另外,请注意,扩展DLL文件需要放置在XAMPP安装的正确路径中。
对于Apache,只需在您的文档根目录中使用以下行创建脚本
对于CLI SAPI,可以使用php.exe --ini进行相同的操作。同样,如果XAMPP软件包修改了配置路径,则可能需要依靠它(因为这是一个编译时指令)。
对php.ini进行更改后,您将需要重新启动PHP才能使更改生效。
您可以参考:https : //pureform.wordpress.com/2008/01/10/installing-memcache-on-windows-for-php/
由于您在Windows上使用PHP 7,因此可能很重要的一点是要注意,PECL编译的DLL可能实际上无法在Windows的apache下运行,因为您很有可能使用了adaded SAPI。因此,请确保您下载的是正确的版本。据我所知,该版本只能编译为与PHP 5.6一起使用。如注释中所述,可从https://github.com/nono303/PHP7-memcahe-dll获取适用于PHP 7的github替代方案,并在非线程安全下进行了测试。因此,您可能只能在Windows上的CLI脚本中使用此功能。
1> 小智..:
memcached服务实际上并未为您安装PHP memcached扩展。它仅安装用于存储缓存的memcached服务器。
您首先需要从PECL存储库下载Windows DLL(单击蓝色的Windows DLL链接)。然后,必须将extension = php_memcache.dll行添加到SAPI的正确php.ini文件中。另外,请注意,扩展DLL文件需要放置在XAMPP安装的正确路径中。
对于Apache,只需在您的文档根目录中使用以下行创建脚本
对于CLI SAPI,可以使用php.exe --ini进行相同的操作。同样,如果XAMPP软件包修改了配置路径,则可能需要依靠它(因为这是一个编译时指令)。
对php.ini进行更改后,您将需要重新启动PHP才能使更改生效。
您可以参考:https : //pureform.wordpress.com/2008/01/10/installing-memcache-on-windows-for-php/
由于您在Windows上使用PHP 7,因此可能很重要的一点是要注意,PECL编译的DLL可能实际上无法在Windows的apache下运行,因为您很有可能使用了adaded SAPI。因此,请确保您下载的是正确的版本。据我所知,该版本只能编译为与PHP 5.6一起使用。如注释中所述,可从https://github.com/nono303/PHP7-memcahe-dll获取适用于PHP 7的github替代方案,并在非线程安全下进行了测试。因此,您可能只能在Windows上的CLI脚本中使用此功能。