phpinfoという関数はPHPの環境を表示する関数だと思いますが、Webサーバー上に表示したphpinfoの結果としてコマンドラインから実行したphpinfoの結果が異なります。 これらはなぜ異なっていますか? 私は同じ結果になりたい。cliまたはmod_phpのphpinfo関数の違いは何ですか?
答えて
あなたのウェブサーバから呼び出されるPHPは、コマンドラインPHPとは非常に異なった設定が可能です。
ウェブサーバーの設定によって異なります。あなたのWebサーバーが単に/usr/local/bin/php
(または類似の)バイナリを呼び出すだけなら、ほとんど同じ出力(HTTP_HOST、REFERRERなどのCGI環境変数なしの場合を除く)が得られます。
一方、高速CGI経由のApacheやPHPでmod_php
を使用してmod_php
は、PHPのために個別にコンパイルされたモジュールであるとして、あなたのphpinfoは、異なる値を返します。それはあなたがコマンドラインからアクセス標準php
コマンドを呼び出すことはありません。
可能もう一つは、あなたのウェブサーバーが別のphp.ini
ファイルを使用しているという違いがある理由は、php.ini
ファイルがPHPにどの拡張機能をロードするかを示していることと、basi callyはphpinfo()
ページにあるほとんどのパラメータを設定できます。
ウェブサーバーがHTTPヘッダーをPHPスクリプトに送信しないように設定し、WebサーバーのPHPセットアップがコマンドと一致(または直接呼び出し)していることを確認できない限り、これらを同じ結果にすることは難しいでしょうphpをビルドします。 php.iniファイルが同じであることを確認できます。phpinfo()
には、現在ロードされている設定ファイルの名前が含まれています。
私はあなたがそれらを同一にすることはできないだろうと思っています。なぜ出力を同じにしたいのか理解できません。設定を似たものにしたい場合は、それぞれのファイルを編集して、希望の設定に変更することをお勧めします。また、php.ini
ファイルにアクセスできない場合は、PHP関数ini_set()
を使用して、実行時にいくつかの設定変数を設定することができます。
ありがとうございます – freddiefujiwara