web-dev-qa-db-ja.com

ApacheはPHPからモジュールをロードしません

私はこのポルトガル語の記事に従ってApacheとPHPを構成しています。

PHP-パート2)で開発環境をインストールして構成する方法

php.iniおよびhttpd.confファイルをすでに設定しました。 php5Apache2_4.dll以外は正しいディレクトリにありますが、サーバーを再起動すると次のエラーが表示されます。

httpd.exe:D:/Apache24/conf/httpd.confの531行目の構文エラー:無効なLoadModuleパス\ xe2\x80\xaa "D:/php-5.6.13/php5Apache2_4.dll"

Httpd.conf:

LoadModule php5_module ‪"D:/php-5.6.13/php5Apache2_4.dll"
AddType application/x-httpd-php .php 
PHPIniDir "D:/php-5.6.13/"

[〜#〜]編集[〜#〜]

Httpd.confファイルを変更しました。

LoadModule php5_module ‪"../php-5.6.13/php5Apache2_4.dll"
AddType application/x-httpd-php .php 
PHPIniDir "../php-5.6.13/"

そして今、私に新しいエラーを返しています:

httpd.exe:D:/Apache24/conf/httpd.confの531行目の構文エラー:../php-5.6.13/php5Apache2_4.dllをサーバーにロードできません:%1 n\xe3o\xe9 um aplicativo Win32 v\xe1lido。

英語:有効なWin32アプリケーションではありません。

コンソールで:

php -version
PHP 5.6.13 (cli) (built: Sep  3 2015 15:14:40)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

httpd -version
Server version: Apache/2.4.16 (Win64)
Apache Lounge VC14 Server built:   Jul 22 2015 13:24:19

私はphp7を設定しようとして同じ問題を抱えていたので、他の誰かが問題を抱えています:

いくつか問題があるかもしれません。 phpとApacheのバージョンにビット互換性があることを確認します(64ビットx64または両方の32ビットx86; 64ビットをダウンロードするときは、PHP windows.php.net/download/ から、Zipファイルはphp...Win32...x64)と呼ばれます。

また、両方が同じバージョンのVisual Studio(VC14など)でコンパイルされていることも確認してください。これはたまたまここの問題でした: www.apachelounge.com/viewtopic.php?t=6596

私の場合、引用について paulsm4 という問題がありました。ウェブサイトからコードをコピーして貼り付けたところ、httpd -k startを実行すると、エラーがhttpd: Syntax error on line 62 of C:/Apache24/conf/httpd.conf: Invalid LoadModule path \x93c:/php7/php7Apache2_4.dll\x94であることがわかりました。 \x93\x94CP1252エンコーディング であり、ファンシーなオープンクォートとエンドクォートを表します。これらを削除するか、通常の引用符で置き換えることで問題が修正され、ApacheはPHPでその後スムーズに実行されました。

他の誰かが遭遇した別の問題は、ApacheをNTS(スレッドセーフではない)PHPで構成しようとしたことです。

php.net/manual/en/install.windows.Apache2.php PHPダウンロードWebサイトもこの点を指摘しています。

6
Benitok

二重引用符を削除してhttpd_uwamp.confファイルは、UnWampおよびPHPディストリビューションの両方で機能しました。 (私のパス名にはスペースが含まれていません)

変更例

LoadModule "{PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}"LoadModule {PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}

ジャンカルロアベルジュリアンの投稿に感謝;-)

4
Michael

私が持っていた古いhttpd.confファイルからの単純なカットアンドペーストエラーと同様のエラーが発生しました

LoadModule php5_module ...

の代わりに

LoadModule php7_module ...

これが他の誰かにこのエラーメッセージをグーグルするのを助けるかもしれないことを願っています。

1
cquezel

私は同じ問題を抱えていました:

無効なLoadModuleパス\ xe2\x80\x9cC:/WAMP/php/php5Apache2_4.dll\xe2\x80\x9d。

上記のpaulsm4の提案に基づいて、LoadModule php5_moduleディレクティブの引用符を削除し、単純な引用符に置き換えました。

LoadModule php5_module "C:/WAMP/php/php5Apache2_4.dll"

これで解決しました。

1
rwilson

私はこのエラーを取り除くのに苦労しましたが、最終的には両方(ApacheとPHP)がx64バージョン(64ではない))をインストールした後で解決しました。

また、単純なフォルダ名、つまりApache2.4またはphpを避け、代わりにphp_7.1.21_vc14_x86_tsApache_2.4.34_vc14_x86のような詳細な名前を使用して、奇妙なエラーが発生し続けるのではなく、フォルダ名自体を調べることで不一致をキャッチしました。

0
user7154703

変化する

LoadModule php7_module "c:/php/php7Apache2_4.dll"

LoadModule php7_module /php/php7Apache2_4.dll

そして

PHPIniDir "c:/php"

PHPIniDir /php

よくやった。

0
Odkhuu Ts

互換性のあるバージョンを使用していることを確認する必要がありますPHP Apacheで。Apache32ビットを実行している場合はPHP 32ビットを使用していることを確認してください。同じことが64ビットにも当てはまります。

  1. コマンドプロンプトを開き、cd "C:/ Apache24/bin"などのApacheインストールbinフォルダーに移動します。

  2. 次に、次のコマンドを実行して、構文が正しいかどうかを確認しますhttpd.ex -t

応答は、言及されたdll php5Apache2_4.dllがPHP場所にありません。これが当てはまる場合は、特定の互換性のあるPHPをダウンロードする必要があります。 = Apacheを使用したバージョン。それ以外の場合は、構文に問題がないことがわかります。

詳細については、このリンクにアクセスしてください

https://danielarancibia.wordpress.com/2015/09/27/installing-Apache-2-4-and-php-7-for-development-on-windows/

0
Solkom

そのエラーが発生したときの気持ちを理解できます。何時間もの調査の後、私が見つけたのは二重引用符を削除するだけでした。 3行すべてから二重引用符を削除する必要はありません。エラーが発生している行から削除してください。

変更前

PHPIniDir “C:/PHP”
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/PHP/php7Apache2_4.dll"

PHPIniDir “C:/PHP”
AddHandler application/x-httpd-php .php
LoadModule php7_module C:/PHP/php7Apache2_4.dll

それは私のために働いた。 PHPをめちゃくちゃに間違った方法でインストールしていない限り、上の2行でエラーが発生することはないと思います。

それをテストする(あなたが知らない場合)

  1. cmdを開く(管理者として開く必要はありませんが、可能です)

  2. binフォルダーに移動してc:/ Apache/bin(またはフォルダーが何であっても)

  3. httpd -tと入力すると、そうでない場合は構文OKが表示されるはずなので、エラーが発生したと表示されている行で作業する必要があります。すべて彼は最高です。

かなり悪い返事?それは私の疑いに対する私の最初の返事なので知っています。

0
DeepakPixel

モジュール/php7Apache2_4.dllをサーバーにロードできません:指定されたモジュールが見つかりませんでした。これは、Apacheおよびphp環境をローカルコンピューターにセットアップする際の一般的な問題です。

私も同じ問題に直面しました:問題にアプローチする最善の方法は、Apacheサーバーとphpに同じVCレベルをインストールし、同じVC++もインストールされていることを確認することですコンピュータ。

私にとっては、Apache24とphpのVC14を試し、たまたまVC14であるVC++ 2015エディションをインストールしました

0
Abhi

私の場合、ダウンロードされたPHP7のタイプが原因でした:_Non Thread Safe__Thread Safe_バージョンをダウンロードしてC:\php7 (Default directory)、Apacheサービスの再起動を試みます。

この助けを願っています!!!

0
Mike kenneth