- 締切済み
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なども有効になっていればと思います。 どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tkf-
- ベストアンサー率58% (821/1398)
> C:/phpにインストールして > Apache2.2もインストールしているので 影響大ありです。 まず、Apacheがどちらのものが動いているか確認してください。 Apache2.2をサービスとして登録、起動しているのなら、停止してから、Apache2.4を起動してください。 また、環境変数PATHももう一度見直してください。中に、C:¥phpに通っている部分はありませんか。
- tkf-
- ベストアンサー率58% (821/1398)
32bitの環境でぱぱっと構築してみましたが、おっしゃるような状態にはなりませんでした。 (正常に、C:¥php7¥php.ini を読み込んでくれています。) 環境変数Pathにて、C:¥php7 は通ってますでしょうか。 あと、Apacheのエラーログにヒントとなるようなものは記載されていませんでしょうか。
お礼
ご返答ありがとうございます。 Apacheのエラーログには何もなかったです。 環境変数にはC:\php7と登録していて、コマンドプロンプトで php --iniと入力すると Configuration File (php.ini) Path: C:\windows Loaded Configuration File: C:\php7\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none) と表示されます。コマンドからはphp.iniは読み込めているようですので、 やはりApacheの問題でしょうか。 ApacheとPHP7の32bit版をインストールして試してみます。
補足
御礼と補足がよくわかっていないので 順番がおかしいかもしれなくてすいません。 ApacheとPHP7の32bit版をインストールして試したのですが やはり同じように白紙になります。 PHP5を C:/phpにインストールして Apache2.2もインストールしているので それが影響しているのでしょうか・・・
お礼
お返事が遅くなりましてすいません。 実は、<? phpinfo() ?>を<?php phpinfo() ?> としたら解決しました。php.iniは読み込まれていたのですが、 phpinfoがエラーになっていたので表示されなかっただけでした。 些細なことでお手間を取らせてしまい、本当に申し訳ありませんでした。 PHP7は<?phpとしないとエラーになるのですね。 気付いた時点で質問を締め切っていればよかったのですが、 締め切る方法がわからなかったのです。 方法がわかったので これで質問は締め切らせていただきます。 ありがとうございました。