我有一个Drupal站点运行在新的MAMP PRO 3.0.3上,安装在OS X Mavericks 10.9.2上的PHP版本5.3.28。
我用pecl install memcache
安装了memcache,并在php.ini
的扩展部分下添加了extension=memcache.so
行,但Drupal仍然显示多个你必须启用PECL memcached或memcache扩展来使用memcache.inc。页面顶部出现错误。
phpinfo()告诉我加载的配置文件位于:
/Library/Application Support/appsolute/MAMP PRO/conf/php5.3.28.ini
,扩展名dir为:
/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/
$ cat "/Library/Application Support/appsolute/MAMP PRO/conf/php5.3.28.ini" | grep memcache .ini扩展= memcache.so
$ ls/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/| grep memcache
-rwxrwxr-x 1 user admin 65K Mar 28 14:00 memcache.so*
我做错了什么,还是这个问题与MAMP PRO 3有关?我已经用自制软件安装了memcached二进制文件,并且进程正在运行。
我也使用单独的PHP版本为每个主机设置在MAMP。
启动Apache时,日志中出现错误:
PHP警告:PHP启动:无法加载动态库'/Applications/MAMP/bin/PHP/php5.3.28/lib/PHP/extensions/no-debug-non-zts-20090626/memcache。/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/memcache。so, 9): Symbol not found: _zend_new_interned_string引用自:/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/memcache.so期望在:平面命名空间中/应用程序/MAMP/bin/php/php5.3.28/lib/php/扩展/不-调试-非zt型- 20090626/memcache。所以在第0行
这是什么意思
谢谢你的帮助!
我根本没有得到pecl提供的memcache扩展。我甚至安装了PHP 5.3.14,但遇到了同样的问题。然后我从github克隆了php-memcached-mamp存储库,并从那里使用memcached扩展,它工作正常。
添加intl扩展到您的配置
我刚刚发现了这个问题,另一个帖子帮助我解决了这个问题。macports安装了php-config53(不是php-config),我从旧的php 5.4安装了一个流浪的php-config。删除/usr/bin/php-config和symlink php=config53 -> php-config,重新安装memcache-beta,它工作了