40588


本日Apache2.2を動作させているWebサーバを確保できたので  
こちらでのPHP動作環境を構築しようとしています。

当該筐体はWindwosServer2012R2 = 64bitですが  
ProgramFiles(x86）側にしかApacheのフォルダが存在していない状況でしたので、  
PHPはx86版を入手し格納しました。  
（php-7.0.26-Win32-VC14-x86）

ここでいう格納とは、PHPのサイトから入手した上記zipを解凍後、  
phpというフォルダ名に変え、丸ごとをC:\Program Files (x86)に配置した操作です。

<https://www.adminweb.jp/apache/php/index1.html>  
こちらのサイトの見よう見まねで、PHPの環境構築に挑んでいますが  
Apatcheの再起動で、phpのdllを読み込めない事態が生じています（多分）。添付のハードコピーのとおり。  
[![画像の説明をここに入力](https://i.stack.imgur.com/o7qob.png)](https://i.stack.imgur.com/o7qob.png)

この英語の意味がよく分かりませんが、現在生じている問題は  
今回のWebサーバのVer（Apache2.2）に対し  
Apatchのhttpd.confに新たに定義したPHPのdllのVerがそぐわない、ということを述べているのでしょうか？

LoadModule php7_module C:\Program Files (x86)\PHP\php7apache2_4.dll

もし私の推察どおりであった場合、かつPHPのVerを7.X以上であることがマストである場合、  
せっかく確保できたWebサーバのApacheは2.4へアップグレードせざるを得ない？ということでしょうか？

（自分の端末をWebサーバに見立て開発を開始しだした際は、xamppで一連を入手し  
なんら苦労せず環境を整えられたが、いざ実動作環境へ移行しようとなると、この時のツケが=勉強不足がアダに）

いつも初歩的な質問をしてしまい、申し訳ありませんが  
何卒よろしくお願い申し上げます。

=====追記=====  
httpd.confに記載したパスに空白が含まれていたので、ご教示頂きましたとおり「"」の引用符を使用したことで、一応に状況は変化しました。  
しかしまだ下記のとおり、PHPのdllの読み込みに失敗しているようです。  
[![画像の説明をここに入力](https://i.stack.imgur.com/mcYFG.png)](https://i.stack.imgur.com/mcYFG.png)  
何を意味しているのか分からないメッセージなのですが、  
①64bitの筐体ながら32bit版のphpを入手して利用しようとしていることが問題なのか（ApacheがProgramFile
x86フォルダにしか見当たらなかったので、x86バージョンを入手しました。これ問題？）

②入手したPHPのVerがApache2.2に対応していないことが問題なのか

③その他の問題なのか  
一体どういう事象なのかどなたかご教示をお願いできますでしょうか？何卒よろしくお願い申し上げます。


CC BY-SA 3.0
2017-12-28T12:28:10.607
40585
2017-12-29T07:11:05.227
2017-12-29T05:25:30.357
25696
25696
question
php apache
本番環境Webサーバ（Apache）に、PHPの動作環境を構築したい


LoadModule行は「モジュール名」と「共有ライブラリ名(=ファイル名)」の2つを引数に指定する必要がありますが、インストール先のフォルダ名に空白が含まれているためエラーになっているのだと思います。  
該当箇所を以下の様に`" "`でくくってみてください。

`LoadModule php7_module "C:\Program Files (x86)\PHP\php7apache2_4.dll"`

参考：  
<http://d.hatena.ne.jp/amagasa2106/20100528/1275065976>

* * *

**追記**  
LoadModuleで指定するファイル(DLL)は推察の通りApacheのバージョンに合わせる必要があるようなので、PHPのインストール先に`php7apache2_2.dll`が既に存在するならそれに合わせて`httpd.conf`の記述も修正するか、もしくはApacheの入れ替えやXAMPPでの導入を検討してみてください。  
(手に入れたマシンに元々入っていたApacheにこだわる必要は無いと思います)

`PHP{PHP_MAIN_VERSION}apache{APACHE_HTTPD_VERSION}.dll`

参考：  
<https://teratail.com/questions/94332>


CC BY-SA 3.0
2017-12-28T12:47:20.243
40588
2017-12-29T07:11:05.227
2017-12-29T07:11:05.227
3060
3060
40585
answer