我想在我的Mac上运行一些PHP,没有注释httpd.conf,激活网络共享,安装MySQL等。 我似乎找不到我的PHP文件,最重要的是,PHP.ini。
在我的旧机器上,它位于/usr/local/php5/lib 但是php5目录在/usr/local中不存在。
我需要取包裹吗?还是我找错地方了?
运行OS X 10.7.3, PHP 5.3.8, Apache/2.2.21
我想在我的Mac上运行一些PHP,没有注释httpd.conf,激活网络共享,安装MySQL等。 我似乎找不到我的PHP文件,最重要的是,PHP.ini。
在我的旧机器上,它位于/usr/local/php5/lib 但是php5目录在/usr/local中不存在。
我需要取包裹吗?还是我找错地方了?
运行OS X 10.7.3, PHP 5.3.8, Apache/2.2.21
当前回答
你运行php_info(),并看到如下行:)
Loaded Configuration File /Applications/XAMPP/xamppfiles/etc/php.ini
其他回答
你运行php_info(),并看到如下行:)
Loaded Configuration File /Applications/XAMPP/xamppfiles/etc/php.ini
如果它存在,你应该在/private/etc中找到它,否则:
sudo cp /private/etc/php.ini.default /private/etc/php.ini
我有不止一次的PHP实例运行,所以其他答案不适合我。这是:
创建一个PHP文件,并在浏览器中打开它的本地url:
<?php phpinfo(); ?>
PHP.INI路径将在靠近顶部的位置列出。
在OSX/MacOS上,在终端窗口中执行以下操作:
在提示符下运行php——ini,输入它并按enter键
报告内容如下: 配置文件(php.ini)路径:/etc 加载的配置文件:(无) 扫描:/Library/Server/Web/Config/php中的其他.ini文件 解析的其他.ini文件:(无)
...这是因为在/etc中有一个名为/etc/php.ini.default的文件作为示例,并显示它没有被使用。你需要把这个文件复制到php需要的文件名,这样你就可以编辑它了,就像这样:
类型:
$ sudo cp /etc/php.ini.default /etc/php.ini (and enter your password)
...然后你会看到,如果你再次运行PHP——ini,它现在看到你的新文件:
在提示符处输入this: php——ini应该报告如下内容:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /Library/Server/Web/Config/php
Additional .ini files parsed: (none)
...现在编辑/etc/php.ini -你要确保以下行(不是以分号';'开头的同一行)完全如下所示: log_errors = On(这将打开日志引擎)
然后,在本节中:
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
如果你想记录到syslog(或Windows上的Windows事件日志),那么;error_log = syslog应该变成error_log = syslog
但是,如果如您所说,您希望记录到一个文件,则可以取消注释,删除前面的分号,使error_log = php_errors.log变为error_log = php_errors.log,或者使用完整路径将其放置在您想要的位置。
祝你好运
这是一个相当老的帖子,但我想进一步澄清。
如果你有一个安装了多个PHP的系统(就像我的系统),你使用命令行工具得到的结果可能与web服务器实际使用的结果不同。如果你对web服务器使用的PHP感兴趣,只使用从使用“phpinfo()”函数的网页收集的信息。
例如,在我的系统上,两种不同方法报告的版本是:
命令行:5.3.26 网络:5.3.13
对于php.ini文件路径,情况也有所不同:
命令行:/private/etc/php.ini 网络:/长/道路/ / /文件/ php . ini
你可以使用下面的命令找到所有可能的php.ini文件:
查找/ name php.ini 2>&1 | grep -v "denied" | grep -v "directory"
('2>&1'和'grep'元素只是将命令的输出限制为有用的信息,即消除错误消息)
在我的系统上,我发现了3个INI文件。因为我对web服务器正在使用的东西感兴趣,所以我知道我应该使用从web页面结果返回的路径。我对列出的php.ini文件进行了更改,重新启动apache,并重新运行网页;那里显示了新编辑的内容。
重新启动apache。
Sudo apachectl -k restart
——J