我一辈子都想不出如何在 Mac OSX 上启用内存缓存以与 apache 一起工作。我已经安装了内存缓存,并且可以通过 php 命令行验证它是否正常工作。
以下命令:
php --ri memcache
报告支持内存缓存。
但是,如果我在浏览器中加载执行 phpinfo() 的本地测试脚本,它不会报告已安装 memcahe。在我的浏览器中运行一个脚本来实例化一个新的内存缓存对象报告:
Fatal error: Class ‘Memcache’ not found
我已经编辑了 php.ini 并添加了 extensions=memcache.so
我已经通过转到系统偏好设置-> 共享并禁用和启用 Web 共享来重新启动 apache。我什至尝试过使用 sudo apachectl restart 从命令行重新启动 apache。
当通过浏览器执行时,我可能遗漏了什么阻止 php 识别内存缓存?
谢谢!
最佳答案
您可能会将 memcache.so 扩展安装在 */no-debug-non-zts-*
目录中,这有时很痛苦(在 Linux 上也是如此)并且 php.ini 可能不会看看这个目录。您可以更改 php.ini 中的扩展目录(这可能会破坏其他内容)或更好地在 */no-debug-non-zts-*
中创建指向 memcache.so 文件的符号链接(symbolic link)目录。
在我的例子中,这是:
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
希望对您有所帮助,这是我最后的建议 :)
关于macos - 使用 stock apache 和 php5 在 Mac OSX 上启用内存缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867098/