WindowsにPHPが入らなくても、多分あなたのせいじゃない

タグ: PHP   Windows10  

Windows上でPHP環境を作成するのは面倒ですし、IISで動かすならともかく、実働環境がLinuxであれば、はじめからLinuxで開発環境を用意したほうが楽です。

Linuxとても簡単に用意できるようになりました。マシンにインストールするのはもちろん、VPSを安く借りることもできます。PHPの動作環境であれば共有サーバーも手軽に使えます。それでも、どうしてもWindowsが良い人や、それしか許されていない人もいます。

Windowsマシンはもう買わない予定でしたが、Windows10の評判がよく、手頃に持ち運べる小さなキーボード付きタブレットが安く売られたこともあり、購入しました。一つの目的はPHPの動作環境を整えるのがどの程度面倒なのか調べることでした。

Win8がプリインストールされていたので、それで一週間ほど調べ、その後Win10にアップデートする予定でしたが、Win8に余りにイライラしたため、届いた翌日の夜にはアップデートかけてしまいました。そのため、ほとんどWin10で試した結果です。

WindowsのPHP環境を整えるために思いつくのは3つでした。

  • PHPバイナリをPHPから直接インストール
  • XAMMPで他の動作環境とともにインストール
  • Microsoft Web Platform Installerでインストール

Win8の時に、直接PHPからバイナリとXAMMPをインストールしたのですが、dllが足りないメッセージが表示されPHP cliが起動できませんでした。Win8のタブレットでの操作のイラツキでWin10に切り替えたため、さらに調査できませんでした。

Win10に切り替えてから、3つの手段を全部使ってインストールしたのですが、全部同じdllが足りないために起動できませんでした。後で調べ直そうと思い、名前もメモせずにアンインストールしました。

数日後、改めて調査しようとPHPバイナリをインストールしたら、すんなりcliが動作しました。XAMMPに含まれているPHPも上手く動きました。足りなかったdllの名前が調べられなくなりました。記憶によると大文字のRで始まる名前でした。

Win版PHPやインストーラの開発者側の環境には、多分このdllは入っているため、まっさらでインストールする場合に引っかかる可能性があることが、見逃されているのだと思います。

また、過去にXAMMPを使用していた経験から、バージョンによっては動作しないバグを含んでいることがあり、大いに悩まされました。Windowsの使用をやめたきっかけの一つです。

動作するようになったのは、Windowsのアップデートで足りないdllが入ったのか、Web Platformの依存で入ったのか、それともPHPで欠落していたものが追加されたかです。一番可能性が高そうなのは、VCのランタイムのアップデートか自動でインストールされたため、動作するようになったのではないかと思います。

ばからしいので、インストールし直してまで調査する気はありませんが、WindowsでPHPが動かないからと行って、全て自分のせいにする必要はありません。万策が尽きたら「気持ちを切り替えて数日置く」という手もあります。(もしくは、開発者側がまっさらなインストール状態のWindowsに環境をインストールするテストを行ってくれることを祈りましょう。)