最近,我将mcrypt安装到OSX10.9中的PHP默认安装中,在完成所有配置和安装之后,我打开了php.ini中的so。我注意到没有默认的php.ini,所以我复制了php.ini.default,重新命名了它,添加了extension=mcrypt.so并重新启动了extension=mcrypt.so。
在这样做的时候,我的phpinfo()页面没有显示任何内容,我的php脚本也不起作用。
我可以从命令行运行php -i,并查看应该在phpinfo()中显示什么,crypt库显示在那里,没有错误。
如果我将所有php.ini文件从/etc或/private/etc中删除,并重新启动/private/etc,则PHP将重新开始工作。
查看phpinfo,它将/etc显示为php.ini文件的位置。在缺少ini文件时,是否存在php.ini获取ini文件的默认位置?
我假设一定是php.ini中的某些东西导致了错误并使php无法工作,但是使用默认的ini文件会导致相同的结果。
发布于 2014-05-18 03:26:07
我自己解决了问题。我注意到phpinfo有Scan this dir for additional .ini files,也就是/Library/Server/Web/Config/php --我创建了这些目录,设置了正确的所有者和权限,在那里复制了php.ini文件,并重新启动了服务器。我又得到了一个空白的信息文件,这意味着我的ini文件中的一些东西导致了问题。我删除了所有的东西,除了我添加的指令,比如extension=mcrypt.so,重新启动web服务器,信息就像我预期的那样显示出来。
发布于 2014-07-07 04:37:32
如果breakit2fixit的答案没有帮助的话,希望这会有所帮助。我运行了以下命令来查找系统上的任何其他php.ini文件:
find / -name php\*ini我发现一个隐藏在另一个PHP版本中的小家伙不知怎么发现它就在我的盒子里。
在这种情况下,它是在/usr/local/php5-5.5.14/lib/php.ini中
一旦我改变了,我就跑了:
sudo apachectl restart这对我起了作用。关键是找到一个错误的PHP安装。奇怪的是运行php --ini告诉我它正在加载/etc/php.ini文件..。
https://stackoverflow.com/questions/23712332
复制相似问题