Mac OS X Lion中的PHP.ini在哪里?以为它在/ usr / local / php5 / lib中

时间:2012-02-18 16:58:12

标签: macos php

我想在我的Mac上运行一些PHP,取消注释httpd.conf,激活网络共享,安装MySQL等。 我似乎无法找到我的PHP文件,最重要的是,PHP.ini。

在我的旧机器上,它位于/ usr / local / php5 / lib中 但是/ usr / local中不存在php5目录..

我需要获得一个包裹,还是我找不到错误的地方?

运行OS X 10.7.3,PHP 5.3.8,Apache / 2.2.21

13 个答案:

答案 0 :(得分:365)

如果存在,您应该在/ private / etc中找到它,否则:

sudo cp /private/etc/php.ini.default /private/etc/php.ini

答案 1 :(得分:336)

要在您的计算机上找到ini文件,请打开Terminal.app并运行以下命令:

php --ini

如果您需要Lion的模板,请尝试this

答案 2 :(得分:45)

在终端执行php -i | grep php.ini。 应该给你一些线索;)

答案 3 :(得分:25)

正如所指出的,php --ini命令将告诉您PHP希望找到php.ini文件的位置。

对于标准安装,它可能正在寻找/etc/php.ini

如果您使用过 macports ,那么PHP可能正在寻找/opt/local/etc/php5/php.ini

答案 4 :(得分:23)

来自@Cronk和@Justin的答案让我在Mac OS X 10.9 Mavericks上取得了成功。实际上,在我的系统上,/etc/php.ini文件完全丢失了,直到我在Web服务器上运行phpinfo()我才发现没有配置文件。从/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

答案 5 :(得分:18)

从任何文件运行phpinfo(),它会告诉您它在哪里。这是一个截图。

enter image description here

答案 6 :(得分:11)

我有不止一次的PHP运行实例,所以其他答案对我不起作用。这样做了:

创建一个PHP文件并在浏览器中打开其本地URL:

<?php phpinfo(); ?>

PHP.INI路径将靠近顶部列出。

答案 7 :(得分:3)

这是一个相当古老的主题,但我想补充一点澄清。

如果您的系统具有多个PHP安装(如我所做的那样),那么使用命令行工具获得的结果可能与Web服务器实际使用的结果不同。如果您对Web服务器使用的PHP感兴趣,请仅使用从使用'phpinfo()'函数的网页收集的信息。

例如,在我的系统中,两种不同方法报告的版本是:

  

命令行:5.3.26

     

网址:5.3.13

对于php.ini文件路径,情况也不同:

  

命令行:/private/etc/php.ini

     

Web:/long/path/to/the/file/php.ini

你可以使用这个找到所有可能的php.ini文件:

  

find / -name php.ini 2&gt;&amp; 1 | grep -v“拒绝”| grep -v“目录”

('2&gt;&amp; 1'和'grep'元素只是将命令的输出限制为有用的信息,即摆脱错误信息)

在我的系统上,我找到了3个INI文件。因为我对Web服务器使用的内容感兴趣,所以我知道应该使用从Web页面结果返回的路径。我对那里列出的php.ini文件进行了更改,重新启动了apache,并重新运行了网页;那里展示了新的编辑。

重新启动apache:

  

sudo apachectl -k restart

- J

答案 8 :(得分:2)

在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,现在它会看到您的新文件:

在提示符下键入: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

如果您想登录系统日志(或Windows上的Windows事件日志),则;error_log = syslog应该成为error_log = syslog

但是,如果您要登录到文件,则可以取消注释,方法是删除前导半冒号以使;error_log = php_errors.log变为error_log = php_errors.log或使用完整路径将其放置在所需位置

祝你好运

答案 9 :(得分:1)

我从“Hello World!”开始,一旦我在浏览器中显示,我会在其中抛出一个phpinfo();,你可以看到所有的东西。告诉你加载了哪些配置,一切。

<?php
   echo 'Hello World!';

   phpinfo();

答案 10 :(得分:1)

1- 查找 FileUpload tb = (FileUpload)FormView1.FindControl("FileUpload1"); DynamicControl tb1 = (DynamicControl)FormView1.FindControl("text1"); tb.SaveAs(Server.MapPath("~/images/slider/") +Path.GetFileName(tb.FileName)); string link = "~/images/slider/" + Path.GetFileName(tb.FileName); tb1.DataField.ToString(link); /*here i want to pass the value of link in tb1*/ 位置路径

打开终端并运行命令

.ini

2- 复制此路径 php --ini 并通过命令打开它

/usr/local/etc/php/7.4/php.ini

3- 使用键盘组合 Ctrl+X 进行更改并退出以退出 nano

4- 完成后运行 nano /usr/local/etc/php/7.4/php.ini

答案 11 :(得分:0)

您运行phpinfo()并查看以下行:)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini

答案 12 :(得分:0)

这是在Mac中修改正确的php.ini的完整方法。

  • 通过php --ini找出ini的位置,这将显示以下内容:
    Configuration File (php.ini) Path: /usr/local/etc/php/7.4
    Loaded Configuration File:         /usr/local/etc/php/7.4/php.ini
    Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
    Additional .ini files parsed:      /usr/local/etc/php/7.4/conf.d/ext-opcache.ini
  • 现在通过php.ini打开sudo vi /usr/local/etc/php/7.4/php.ini
  • 进行更改并通过:wq退出
  • 运行最终命令sudo apachectl restart

您所做的更改应该正确反映出来:)