我不能为我的生活弄清楚如何在Mac OSX上启用memcache来使用apache。我已经安装了memcache并且可以通过php命令行验证它是否正常工作。
以下命令:
php --ri memcache
报告支持memcache。
但是,如果我在浏览器中加载了执行phpinfo()的本地测试脚本,则它不会报告已安装memcahe。在我的浏览器中运行一个实例化新的memcache对象的脚本报告:
Fatal error: Class ‘Memcache’ not found
我编辑了php.ini并添加了extensions = memcache.so
我已经通过转到系统偏好设置 - >分享和禁用并启用网络共享重新启动了Apache。我甚至尝试从命令行w / sudo apachectl restart重新启动apache。
我可以忽略的是阻止php在通过浏览器执行时识别内存缓存?
谢谢!
答案 0 :(得分:1)
你可能会在*/no-debug-non-zts-*
目录中安装memcache.so扩展,这有时很痛苦(在Linux上也一样),php.ini可能不在这个目录中。您可以更改php.ini中的扩展目录(这可能会破坏其他内容),或者更好地创建*/no-debug-non-zts-*
目录中memcache.so文件的符号链接。
就我而言,这是:
ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/lib64/php/modules/memcache.so
进一步检查memcache.so文件的权限并确保它是可执行的(755),在我的例子中,这是:
chmod 755 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
希望有帮助,这是我的最后一个建议:)
答案 1 :(得分:0)
当然看起来命令行php和mod_php正在使用不同版本的php.ini。
答案 2 :(得分:-1)
你在使用memcache是为了什么?你是如何发起的?你有没有在机器上运行memcached?
这不是一个特别的mac答案,但希望它会让你沿着跑道前进,如果这涉及到明显的道路,我会道歉。
你需要在Mac上或mac可以在memcached端口上访问的另一台机器上运行memcached。
Mac上的memcached有一个特定的文档 - http://memcached.darwinports.com/
请记住,您还需要配置php以将memcache用于任何您想要缓存的内存缓存,例如:更改相关的PHP设置,例如使用memcache来处理会话:
session.save_handler = files
改为:
session.save_handler = memcache
的session.save_path = “TCP://:11211持久= 1&安培;重量= 1&安培;超时= 1&安培; retry_interval的= 2”
希望这在某种程度上有所帮助。