我使用的是 php 5.4.12,它安装了扩展 php_redis 和 php_igbinary,可在 https://github.com/nicolasff/phpredis/downloads 下载。
有2个版本:线程版本和非线程版本。首先我尝试第一个。将 2 个文件 php_redis 和 php_igbinary 复制到 php 的 ext 文件夹,编辑 php.ini 配置以加载扩展,似乎成功了
之后,我运行 myfile.php,其中包含命令: $redis = new Redis(); -> 出现致命错误:CLASS REDIS IS NOT FOULD。
我尝试过其他版本(非线程),但我得到了类似的结果。
有人知道这个吗
提前谢谢
更新: 我查看apache错误日志。得到这个:
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_igbinary.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_redis.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0
这是版本不匹配。您使用的是
64-bit php_redis.dll
而不是 32 位。从 here 下载 php 5.3-5.6 的 32 位版本并将其粘贴到您的 php/ext
文件夹中,并将以下行添加到您的 php.ini
:
extension=php_redis.dll
php 7.0-7.1 的版本可以在以下位置找到:https://pecl.php.net/package/redis/3.1.0/windows
注意 PHP 版本的正确性很重要。