php.iniがない

このQ&Aのポイント
  • Red Hat Enterprise Linux ES v.4、PHP 4.4.2(cli)の環境でApache2とPHPとMySQLをソースからインストールしましたが、php.iniがなくextension_dirの値を変更できません。
  • php.iniが表示されず、phpinfo()で表示されるConfiguration Fileのパスが「/usr/local/lib」となっており、環境のインストール方法に問題があるのか疑問です。
  • インストール方法の問題かもしれませんが、php.iniがないまま開発を進めることはできるのでしょうか?ご教授をお願いします。
回答を見る
  • ベストアンサー

php.iniがない

たびたびお世話になっております。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) この度、Apache2とPHPとMySQLをソースからインストールしました。 どれもインストールが終わって、開発に進んだのですが php.iniのextension_dir の値を変更しようと思ったところ php.iniがありません。 # find / -name "php.ini" -ls で検索しましたが、表示されません。 でも、phpinfo()は表示されています。 ちょっと気になったのが、phpinfo()で表示される Configuration File (php.ini) Path が 「/usr/local/lib」となっていて、php.iniで終わっていないことです。 インストールの方法がまずかったのでしょうか? ご教授よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>インストールの方法がまずかったのでしょうか? php.iniファイルは手作業で作成・配置する必要があります。 php-4.4.2.tar.gzを解凍すると作成される、php-4.4.2ディレクトリ直下に php.ini-dist php.ini-recommended というファイルが解凍されていますので、それらをphp.iniファイルの 雛形にすればいいです。

wonder_dct
質問者

補足

xjdさん ご回答ありがとうございます。 php.ini-dist php.ini-recommended というファイルはありました。 どちらでも大丈夫なのでしょうか? # cp /usr/local/src/php-4.4.2/php.ini-dist /usr/local/lib/php.ini # cp /usr/local/src/php-4.4.2/php.ini-recommended /usr/local/lib/php.ini で大丈夫でしょうか?

その他の回答 (4)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

>というファイルはありました。 >どちらでも大丈夫なのでしょうか? php.ini-dist と php.ini-recommended の二つのiniファイルですが、 それぞれファイルの先頭に解説文があるので読んでください。 とりあえず、パフォーマンスとセキュリティの観点から最適化された初期設定がなされているので、 php.ini-recommended の使用を推奨(recommended)します。 但し、あくまでもひな型ですので、あなたのシステムで確実に動作するかは保障できません。 二つのiniファイルを比較して、あなたが必要とする設定にカスタマイズしてください。 http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F%BF%E4%BE%A9php.ini%C0%DF%C4%EA

wonder_dct
質問者

お礼

xjdさん ありがとうございます。 php.ini-recommended をコピーしたら Configuration File (php.ini) Path に「/usr/local/lib/php.ini 」と 表示されるようになりました。 「/usr/local/lib/php.ini」を変更したら、phpinfo.phpの値が 変更されていることも確認できました。 環境に合わせて設定を変更します。 ありがとうございました。

  • umota
  • ベストアンサー率46% (150/324)
回答No.4

#1 です。 一般的に ソースを展開したディレクトリに README とか INSTALL というファイルがあり、 ここに 説明やインストールの方法が書かれていたりします。 まず、説明を読みましょう。

回答No.2

下記のコマンドで表示されません?? # ls /usr/local/lib | grep php php.ini がなくてPHPが動作しているとは考えられません。

wonder_dct
質問者

補足

qaz_qwerty_me さんご回答ありがとうございます。 # ls /usr/local/lib | grep php としたところ php としか出てきませんでした。 何がおかしいのでしょうか?

  • umota
  • ベストアンサー率46% (150/324)
回答No.1

php-5.1.4 は INSTALL ファイルに説明がありますが php-4.4.2 にはありませんか?

wonder_dct
質問者

補足

umota さんご回答ありがとうございます。 どこのファイルをご指示していただいたのでしょうか? まだ勉強不足のため、詳しく教えていただけますのでしょうか。 よろしくお願いいたします。

関連するQ&A

  • PHP7のphp.iniが読込みできない

    Windows7 64bitの C:\Apache24にApache2.4をインストールして、 C\php7にPHP7をインストールしました。 (php-7.1.1-Win32-VC14-x64.zipを解凍してできたフォルダをphp7にリネームしてC:\に置きました) それで、Apacheのhttpd.confやphp.iniの必要部分を書き換えて、 C:\Apache24\htdocsに <? phpinfo() ?> と記入したinfo.phpを置いて、Apacheを起動して、 ttp://127.0.0.1/info.phpにブラウザでアクセスしたところ、 phpinfo()の画面が表示されて、インストールできたと思ったのですが、 良く見ると、 php.iniでextension_dir = "c:\php7\ext"と設定しているのに、 extension_dirがC:\php7\extではなく、C:\php\extとなっていて、 mbstringなども読み込まれていないのです。 Loaded Configuration File もnoneとなっていて、php.iniが読み込まれていないようです。 Configuration File (php.ini) Path はC:\windows となっていますが、C:\windows には php.iniは入れていません。 ネットで調べて、httpd.confに PHPINIDir "C:/php7" と記入するといいとあったので、記入してApacheを再起動して info.phpにアクセスしたところ、白紙のページが表示されました。 PHPINIDir "C:/php7"を削除して、Apacheを再起動してinfo.phpにアクセスすると、 phpinfo()の画面が表示されます。 試しに、C:\windowsにphp.iniを入れてみると、また白紙のページになります。 つまり、php.iniを読み込もうとすると白紙にページになっていまうのです。 php.iniにエラーがあるのかと思って、解凍して何も変更していないphp.iniを 使ってみてもだめでした。php.iniの構文チェックができればと思って いろいろ調べたのですがネット上で見つからなかったです。 希望ですが、なんとかphp.iniを読み込んで白紙ではなくページを表示できて、 mbstringなども有効になっていればと思います。 どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • PHP CLIでのphp.iniのパスを設定したい

    CLIモードで読み込まれるphp.iniのデフォルト値(/usr/local/lib)を「php -c path/file」を使わず、インストール時のconfigureオプションなどで指定することは可能なのでしょうか? 環境 CentOS 6.0 PHP5.3.9 (変な場所にインストールされているのは、他の開発環境もあるので隔離するためです。) configure時オプション --prefix=/home/user/local/php --with-config-file-path=/home/user/local/php/lib/ ↑これで自動的に/home/user/local/php/lib/php.iniが読み込まれると思ったのですが $ /home/user/local/php/bin/php -v PHP 5.3.9 (cli) (built: Jan 17 2012 17:22:45) $ /home/user/local/php/bin/php -i Configuration File (php.ini) Path => /home/user/local/php/lib/ Loaded Configuration File => /usr/local/lib/php.ini  なぜかデフォルト(/usr/local/lib/php.ini)が読み込まれてしまう $ /home/user/local/php/bin/php -c /home/user/local/php/lib/php.ini -i Configuration File (php.ini) Path => /home/user/local/php/lib/ Loaded Configuration File => /home/user/local/php/lib/php.ini  cオプションで指定するともちろん問題なし ちなみにブラウザで見るとConfiguration File (php.ini) PathとLoaded Configuration Fileが等しくなっています。 apacheのhttpd.confに PHPIniDir "/home/user/local/php/lib/" を記載しているからだと思いますが。 www.sample.com/index.php Configuration File (php.ini) Path/home/user/local/php/lib/ Loaded Configuration File/home/user/local/php/lib/php.ini

    • ベストアンサー
    • PHP
  • phpのextension_dirのデフォルトは??

    prefix=/usr/local を指定してインストールした場合、 extension_dirのデフォルトはどこになるのでしょうか? 現状はデフォルトのまま下記のようになっています。 extension_dir = "./" php.iniのパスは、/usr/local/etc/php.iniになっています。 libdirはlib64を指定してインストールしました。 extension_dirを変更する事は出来ず、このデフォルトのパスを探り当てなければならず、大変困っています。 php.iniと同階層に位置するのか、それともlibdirと同階層になるのか。 それとも他の場所があるのか。 誰か解るかたがいらっしゃいましたら教えて頂けると助かります!

  • [PHP]php.iniが読み込まれない

    php.iniを変更しても反映されません。 読み込んでいるファイルが違うのかとも思い、php.iniを削除してコマンドを実行すると以下のようになりました。 ■php -i | grep php.ini [結果] Configuration File (php.ini) Path => /etc しかし、phpinfo();で表示した場合、以下のように削除前の情報を保持したままです。 本当はLoaded Configuration Fileの結果が(None)となるはずだと思うのです。 ■phpinfo();の結果 [結果] Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini ちなみに削除前は以下の通りです。 ■php -i | grep php.ini [結果] Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini ■phpinfo();の結果 [結果] Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini キャッシュかとも思いキャッシュを削除してみましたが変わりませんでした。 上記の理由なのかtimezoneを設定してみても同じです。 ■php -i | grep timezone [結果] Default timezone => Asia/Tokyo date.timezone => Asia/Tokyo => Asia/Tokyo ■phpinfo();の結果 [結果] Default timezone:UTC PHPは5.6でnginxで動かしています。 アドバイスをお願いします。

    • 締切済み
    • PHP
  • phpのextension_dirを複数指定したい

    php 4.3.9を使用しております。 redhatのup2dateでインストールしたphpを使用しているのですが、 php.iniでextension_dirが extension_dir = /usr/lib/php4 となっておりますが、これを extension_dir = /usr/lib/php4:/another/dir と複数指定したく思っています。 現在extensionの開発をしていて、 毎回自作のextensionをコピーするのがかったるいので なんとかしたいなぁ、というのが目的です。 しかし、上記のように指定すると、 PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4:/another/dir/gd.so' - /usr/lib/php4:/another/dir/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0 (後略) と、すべてのextensionについてエラーが出てしまいます。 何かいい方法はないでしょうか?よろしくお願いします。

    • ベストアンサー
    • PHP
  • php.iniの拡張モジュールGDをONにしたい

    php.iniファイルの記載方法がわかりません。お名前.comにてGDを使用したいのですが、サポートにメールしたら gd、mysqli、xmlrpcは、拡張モジュールとして設置しております ため、お客様にて独自にphp.iniを設置し、ご利用いただく場合に おきましては、設置いただいている「php.ini」ファイルに下記 記載の記述を追加することにより、ご利用可能になります。 extension_dir = "/usr/local/lib/php/extensions" extension = gd.so extension = mysqli.so extension = xmlrpc.so と帰ってきました。php.iniファイルの書き込み方などわからないのでどなたか教えてください!

    • 締切済み
    • PHP
  • php.iniってどこにある??

    こんにちは。 いつも皆さんの質問や回答を参考にスキルアップを目指しております。 ちょっと分からない点にぶち当たりましたのでどなたか教えてください。 当方、Fedora8にてWebサーバーを構築しております。 構成は下記の通りです。 Fedora8 Apache2.2.9 PHP4.4.9 PostgreSQL8.2.11 現在、正常に稼働しているように見えるのですが、phpinfo()を見てみると 確かに【Configuration File (php.ini) Path】の値が 【/usr/local/php-4.4.9/lib】となっているのですが、そこのディレクトリを 見てもphp.iniが見当たりません。 find / -name php.ini にてファイルを探してみたら【/etc/php.ini】と表示されたので 開いて編集し、httpdの再起動をしてみたのですが、設定の変更が 反映されません。 いったいどこの設定ファイルを読み込んでいるのでしょうか? 設定ファイルが指定のパスに見つからない場合、デフォルトで読み込む ファイルがあるのでしょうか? 参考までに変更しようとした項目は下記です。 session.use_trans_sid を off から on へ変更したいのですが、 0を1に変えても変化がありませんでした。 どうかよろしくお願いいします。

  • PHPでpostgreSQLと接続しようとすると「call to undefind function pg_connect」というエラーが出る

    表題の件で質問させて下さい。 いろいろネットで調べると、php.ini の extension_dir="phpインストールフォルダのextフォルダ" extension=php_pgsql.dllのコメントをはずす で大抵は解決しているようなのですが、その対応をしてもどうも解決しません。 以下、わかる範囲で確認してみた項目です。 ・phpinfoで確認してみても、postgreSQLの項目は表示されていませんでした。 ・phpinfoの 「Loaded Configuration File 」のphp.iniのパスもあっています。 ・ためしに、extension=php_mbstring.dll のコメントをつけたりはずしたりすると、phpinfoではちゃんと反映されていました。 ・もちろん、extension_dirに設定しているディレクトリには、php_pgsql.dllがありました。 ちょっと何が原因なのか見当がつきません。 どなたかお分かりになる方がいらっしゃいましたらご教授願えませんでしょうか。 環境は windowsXP apache/2.2.9 PHP/5.2.6 です。 よろしくお願い致します。

    • 締切済み
    • PHP
  • ubuntuで、PHPからMYSQLが見えません。

    MySQLとPHPがつながりません。 (コマンドラインからはmysqlにログインできます)。 どなたか、原因等わかるかたがいらっしゃったらご教授ください。 バージョンは以下の通りです。 MySQL-5.0.38 Apache-2.0 PHP-5.2.1 ubuntu-7.04 全てapt-get installで、APACHE、MYSQL、PHPの順でインストールしています。 phpinfoでもmysqlの項目表示がされず、またmysql_connectなどの 関連するコマンドも「call to undefined~」のエラーが出力されてしまいます。 /etc/php5/apache2/php.iniに、 extension=mysql.so extension_dir="/usr/lib/perl5/auto/DBD/mysql/ の記述もしてみましたが状況は変わりませんでした。 (/usr/lib/perl5/auto/DBD/mysql/mysql.soをlocateで見つけました) 以上、お手数でございますがどうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • php.iniが認識されません

    php5、MySQL5、Apache2.2を使おうと思っているWindowsXP利用の初心者です。 それぞれは動作しているのは確認できたのですが、phpinfo()を表示させると、MySQLがSTARTしているのに、MySQLの項目が表示されません。 c:\Windowsにあるphp.iniにはextension=php_mysql.dll等を記述しているのですが、php.iniを削除しても、phpinfo()の結果が変わらないので、php.iniが認識されていないような気がします。 申し訳ありません、どなたかお助けいただけないでしょうか。

    • ベストアンサー
    • PHP