Windows環境でPHPのパスが通らない場合はフルパス指定で試してから対処する

PHP

自分のローカルPCにXAMPP環境を作る場合、最初にXAMPPのインストール後にPHPへのPATHを通す必要があります。

久しぶりにXAMPP環境を構築した際、PATHを通すのに少し手間取ったので、同じ事象が発生した方は以下をお試しください。

発生環境と事象

わたしの試した環境やxamppのバージョンは以下となります。

・Windows10 Pro
・Windows向けXAMPP 8.0.0 (PHP8.0)

ただ、原因はパス区切り文字である「\」記号の文字コードの問題なので、あまりWindows OSのバージョンやXAMPPのバージョンは関係無いと思います。

さて、上記環境でXAMPPインストールした後、Windowsの環境変数(PATH)にPHPのインストールフォルダを設定しました。

デフォルト設定の場合は、PHPのインストールディレクトリは「c:¥xampp¥php」となっているかと思います。

PCの再起動後、コマンドプロンプトから

php -version

と打って、PHPのバージョンを確認しようとすると、以下のエラーメッセージが表示されてしまいました。

‘phpは’内部コマンド、外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。

環境変数への設定は、タイプミスなどが無いようにコピペで設定しましたし、設定後にWindowsを再起動もしています。

あらかじめ試した事

何度か試したので考えにくいのですが、コピペミスなどの可能性を疑い、PHPの実行ファイルが保存されているフォルダと、環境変数の値をテキストエディタに張り付けて比較してみました。

XAMPPでPHPをインストールすると、通常はCドライブ直下のxamppフォルダの下に、phpというフォルダがあり、そこにphp.exeファイルがあります。

エクスプローラーから、このフォルダパスをコピーしてテキストエディタに貼り付けます。

そして、比較対象である環境変数(PATH)の値もコピーして、さきほどのテキストエディタに貼り付けます。

下の図の通り、見た目上は同じです。
全角/半角の違いなどもありません。

見た目は同じなのに、実際にパスが通っていない理由は、「¥」の文字コードの問題というのはよく知られているかと思います。

ただ、それは分かった上で、「¥」記号を手入力してみたり、フォルダパスからコピーしてみたりしても、問題は解決しませんでした。

解決しない場合はフルパス指定して実行してみる

問題切り分けの為に、phpコマンドをフルパス指定して実行してみましょう。

これまで「php -version」とコマンド実行していたところを、phpコマンドまでのフルパスも含めて実行してみます。

わたしの場合は、これで実行できました。

ということは、やはりPATHの指定の仕方がおかしいだろうと判断できます。

もしこの指定を試してみても実行できない場合は、php.exe自体が無かったり、壊れていないかを疑った方がよいでしょう。
(最悪XAMPP環境の再インストールをする)

フルパス指定で実行できた前者のケースの場合は、「c:¥xampp¥php」の部分を、コマンドプロントの画面上からコピーして、PATH環境変数に突っ込めば解決するかと思います。

コマンドプロンプト上の文字をコピーするには、対象範囲を選択して右クリックすればOKです。

上記に記載している「c:¥~」の部分をコピペして使わないでください。
当ブログ上の「¥」は環境依存文字の方を使って表示しています。

環境変数の値を書き換えたら、忘れずにPCの再起動をした上で、phpコマンドを実行してください。

ようやく、PATHが通りました。

まとめ

「¥」の文字コード問題ってめんどくさいですよね。

どこかのサイトからパスを拾ってきた場合はもちろん、全部手入力したりしても問題が解決しない場合があります。

パスの問題については、フルパス指定して実行してみることで、本当に環境変数の問題なのかどうかの切り分けがしやすくなると思いますので、試してみるとよいと思います。

コメント

タイトルとURLをコピーしました