1

我在 OS X Mavericks 10.9.2 上安装了 PHP 版本 5.3.28 的新 MAMP PRO 3.0.3 上运行了一个 Drupal 站点。

我安装了 memcachepecl install memcache并在 extensions 部分下添加了该extension=memcache.sophp.ini,但 Drupal 仍然显示多个You must enable the PECL memcached or memcache extension to use memcache.inc。页面顶部的错误。

Drupal 根目录上的 phpinfo() 告诉我加载的配置文件位于:

/Library/Application Support/appsolute/MAMP PRO/conf/php5.3.28.ini

扩展目录是:

/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 内存缓存扩展=内存缓存.so

$ ls /Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/ | grep 内存缓存

-rwxrwxr-x 1 用户管理员 65K 3 月 28 日 14:00 memcache.so*

我做错了什么还是这个问题与 MAMP PRO 3 有关?我已经用自制软件安装了 memcached 二进制文件,并且该进程正在运行。

我还在为MAMP中的每个主机设置使用单独的 PHP 版本。

启动 Apache 时,日志中有错误:

PHP 警告:PHP 启动:无法加载动态库 '/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/memcache.so' - dlopen(/Applications /MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/memcache.so, 9):找不到符号:_zend_new_interned_string 引用自:/Applications/MAMP/bin/php /php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/memcache.so 预期在:/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no 中的平面命名空间-debug-non-zts-20090626/memcache.so 在第 0 行的未知

这是什么意思。

谢谢你的帮助!

4

3 回答 3

3

我根本没有让 pecl 提供的 memcache 扩展工作。我什至安装了 PHP 5.3.14 但遇到了同样的问题。然后我从 github克隆了php-memcached-mamp存储库,并从那里使用了 memcached 扩展,它工作正常。

于 2014-03-31T08:24:37.203 回答
0

intl 扩展添加到您的配置中。

于 2014-03-28T14:49:27.977 回答
0

我刚刚发现了这个问题和另一个帮助我解决它的帖子。macports 安装了 php-config53(不是 php-config),我从旧的 php 5.4 安装中安装了一个 vagrant php-config。删除 /usr/bin/php-config 和符号链接的 php=config53 -> php-config,重新安装 pecl install memcache-beta 并且它有效。

于 2014-06-01T17:37:30.353 回答