我最近在配置和安装完所有内容后,在OS X 10.9中将mcrypt
安装到PHP的默认安装中,我在php.ini
中打开了这个。我注意到没有默认php.ini
所以我复制了php.ini.default
,重命名它,添加extension=mcrypt.so
并重新启动Apache。
执行此操作时,我的phpinfo()
页面没有显示任何内容,我的php脚本都不起作用。
我可以从命令行运行php -i
,看看phpinfo()
中应显示的内容,crypt
库显示在那里,并且没有错误。
如果我从php.ini
或/etc
删除所有/private/etc
个文件,并重新启动Apache,PHP将重新开始工作。
查看phpinfo
,它会将/etc
显示为php.ini
文件的位置。是否有一些默认位置php.ini
在缺少一个ini文件时会获得?
我认为它必须是php.ini
中导致错误并使php无法运行的东西,但使用默认的ini文件会导致相同的结果。
答案 0 :(得分:2)
我解决了自己的问题。我注意到phpinfo
有Scan this dir for additional .ini files
,/Library/Server/Web/Config/php
我创建了这些目录,设置了正确的所有者和权限,在那里复制了我的php.ini
文件,然后重新启动了服务器。我再次得到一个空白的信息文件,这意味着我的ini文件中的某些内容导致了问题。我删除了除了我添加的指令之外的所有内容,例如extension=mcrypt.so
,重新启动了Web服务器,信息显示的完全符合我的预期。
答案 1 :(得分:0)
希望如果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
文件......