web-dev-qa-db-ja.com

MACOSXでのphp.ini構成

Macosx上のPHP構成ファイルphp.iniで奇妙な問題が発生しています。phpinfoファイルを作成しました。ブラウザーで呼び出すと、php設定が-で表示されます。

* *構成ファイル(php.ini)パス:/ etc

ロードされた構成ファイル:/private/etc/php.ini **

ただし、この場所でphp.iniファイルを編集すると(そしてもちろんApacheを再起動すると)、変更はphpinfoファイルだけでなくphp設定にも反映されません。例:bcmathの10進数の変更、タイムゾーン設定の変更など。Apacheが設定ファイルを取得する別の主要な場所はありますか。どんな助けでも大歓迎です。

13
Sarthak Gupta

これは古い投稿ですが、私はこの問題を抱えていて、インターネットを無駄に調べたので、後世のためにここで答えます。

私はネイティブのMacOSX Apache2を josegonzalesからの自作タップ で使用しています。

私のsysadminの友人の言葉を引用すると、「答えは、ApacheではなくPHP-FPMを再起動することにあるはずです。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;

Apacheを再起動したときにPHP-FPMを再起動できるように、〜/ .bash_profileに以下を追加しました。以下を呼び出すコマンドは「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;}
6
Jeremy John

Glassdimlyの回答は、この問題を解決するのに役立ちました。

問題:

  • _'Loaded configuration file'_はphpinfo()出力に_'/usr/local/etc/php/7.0/php.ini'_を示していますが、私のモジュール(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_は新しい関数を現在のシェルにロードします

これが将来の絶望的なGoogle社員の助けになることを願っています!

1
a20

サービスパネルからApacheサーバーを再起動すると、加えられた新しい変更が反映されます。

0
NarayaN