我想在Mac上直接运行一些PHP,未注释httpd.conf,激活Web共享,安装MySQL等。我似乎找不到我的PHP文件,最重要的是,PHP.ini。
在我的旧计算机上,它位于/ usr / local / php5 / lib中,但是/ usr / local中不存在php5目录。
我需要获取包裹还是在错误的地方找东西?
运行OS X 10.7.3,PHP 5.3.8,Apache / 2.2.21
locate php.ini
我想在Mac上直接运行一些PHP,未注释httpd.conf,激活Web共享,安装MySQL等。我似乎找不到我的PHP文件,最重要的是,PHP.ini。
在我的旧计算机上,它位于/ usr / local / php5 / lib中,但是/ usr / local中不存在php5目录。
我需要获取包裹还是在错误的地方找东西?
运行OS X 10.7.3,PHP 5.3.8,Apache / 2.2.21
locate php.ini
Answers:
如果存在,则应在/ private / etc中找到它,否则:
sudo cp /private/etc/php.ini.default /private/etc/php.ini
php -i
创建php.ini之前和之后的输出。
@Cronk和@Justin的回答使我在Mac OS X 10.9 Mavericks上很接近。实际上,在我的系统上,该/etc/php.ini
文件完全丢失了,直到我phpinfo()
在Web服务器上运行时,我才发现没有配置文件。从复制文件/etc/php.ini.default
并添加完全合格的路径到mcrypt.so
库配置文件解决了这个问题:
cp /etc/php.ini.default /etc/php.ini
然后/etc/php.ini
添加以下行(使用mcrypt.so
文件的正确路径):
extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"
然后重新启动Apache2:
apachectl restart
phpinfo()
从任何文件运行,它会告诉您它在哪里。这是屏幕截图。
php -a
位置运行Shell来打开php REPL phpinfo();
。
这是一个比较旧的线程,但是我想补充一下。
如果您的系统具有多个PHP安装(像我的一样),则使用命令行工具获得的结果可能与Web服务器实际使用的结果有所不同。如果您对Web服务器使用的PHP感兴趣,请仅使用从使用'phpinfo()'函数的网页收集的信息。
例如,在我的系统上,两种不同方法报告的版本是:
命令行:5.3.26
网址:5.3.13
对于php.ini文件路径,情况也有所不同:
命令行:/private/etc/php.ini
网址:/long/path/to/the/file/php.ini
您可以使用以下命令找到所有可能的php.ini文件:
查找/ -name php.ini 2>&1 | grep -v“拒绝” | grep -v“目录”
('2>&1'和'grep'元素仅将命令的输出限制为有用的信息,即摆脱错误消息)
在我的系统上,我找到了3个INI文件。因为我对Web服务器正在使用的内容感兴趣,所以知道应该使用网页结果返回的路径。我对此处列出的php.ini文件进行了更改,重新启动了apache,然后重新运行了该网页;新的修改显示在此处。
要重新启动apache:
sudo apachectl -k重新启动
-J