Mavericks的php.ini配置,工作时没有ini文件


Mavericks php.ini configuration, working with no ini file

我最近将mcrypt安装到OS X 10.9的默认PHP安装中,在配置和安装完所有内容后,我去打开php.ini中的so。我注意到没有默认的php.ini,所以我复制了php.ini.default,重命名它,添加extension=mcrypt.so并重新启动Apache。

在这样做我的phpinfo()页面显示什么,和我的php脚本都没有工作。

我可以从命令行运行php -i,看看phpinfo()中应该显示什么,crypt库显示在那里,没有错误。

如果我从/etc/private/etc中删除所有php.ini文件,并重新启动Apache, PHP将重新开始工作。

查看phpinfo,它将/etc显示为php.ini文件的位置。是否有一些默认的位置,php.ini得到一个ini文件,当一个丢失?

我认为它必须是php.ini中导致错误并使php无法工作的东西,但使用默认的ini文件会导致相同的结果。

我解决了我自己的问题。我注意到phpinfoScan this dir for additional .ini files,这是/Library/Server/Web/Config/php。我创建了这些目录,设置了正确的所有者和权限,复制了我的php.ini文件,并重新启动了服务器。我又得到了一个空白的信息文件,这意味着我的ini文件中的某些东西导致了这个问题。我删除了所有东西,除了我添加的指令,如extension=mcrypt.so,重新启动web服务器,信息显示完全如我所料。

希望这有助于如果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文件…