php.ini MAC OSX上的配置

时间:2012-03-16 07:15:18

标签: php macos apache

我在mac osx上遇到PHP配置文件php.ini的奇怪问题。我创建了一个phpinfo文件。在浏览器中调用它会显示php设置 -

* *配置文件(php.ini)路径:/ etc

已加载的配置文件:/private/etc/php.ini **

但是,在此位置编辑php.ini文件时(当然重新启动Apache),更改不会反映在php设置以及phpinfo文件中。 例如:更改bcmath十进制数字,更改时区设置等.Abache将从哪个主要位置获取设置文件。任何帮助将受到高度赞赏。

3 个答案:

答案 0 :(得分:6)

这是一篇很老的帖子,但是我遇到了这个问题并且在互联网上搜索无济于事,所以我在这里回答后人的问题。

我使用原生Mac OSX apache2和homebrew taps from josegonzales

引用我的系统管理员朋友,"答案应该在于重新启动PHP-FPM而不是Apache。 Apache使用mod_fastcgi通过PHP-FPM运行php的端口或套接字连接到PHP。"

您需要加载/卸载与PHP-FPM安装相关的plist文件。先检查〜/ Library / LaunchAgents不在吗?我的位于这里:     /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist

它重新启动如下:     launchctl unload -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist && launchctl load -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist;

我在〜/ .bash_profile中添加了以下内容,以便在重新启动apache时可以重启PHP-FPM。调用以下命令的命令是" apachectlrestart"

function apachectlrestart () { sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist && sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist && launchctl unload -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist && launchctl load -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist;}

答案 1 :(得分:1)

Glassdimly的回答帮助我解决了这个问题。

<强>问题:

  • 'Loaded configuration file''/usr/local/etc/php/7.0/php.ini'输出中显示phpinfo(),我的模块(imagick)未被php加载。

  • 我尝试在主php.ini文件中手动包含我的模块并重新启动apache但'Loaded configuration file'没有更新。

  • 我尝试杀死所有apache实例并重新启动apache - 仍然相同。

  • 我尝试将php.ini重命名为php.ini_并重新启动了apache,但'Loaded configuration file'仍显示旧的php.ini文件。

<强>解决方案:

  • 在阅读Glassdimly上面的回答后,我尝试了以下步骤:

  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

  • launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
  • 繁荣 - 它有效!
  • 接下来,我在~/.bash_profile

    中设置了快捷功能
    # restart php-fpm
    function restart_fpm(){
    
        plist=~/Library/LaunchAgents/homebrew.mxcl.php70.plist
    
        launchctl unload -w $plist
        launchctl load -w $plist
    
        echo "PHP 7 fpm restarted"
    }
    
  • source ~/.bash_profile将新函数加载到当前shell

希望这有助于一些绝望的Googler来自未来!

答案 2 :(得分:0)

从服务面板重新启动您的apache服务器将反映您所做的新更改....