だから私はbuildrootを使って組み込みApache Webサーバーを構築しましたが、PHPコードを実行しないこと以外はうまくいきます。私のシステムのコマンドラインから.phpファイルを実行できますが、ブラウザでこれらの.phpファイルを開くと、PHPコードは実行されず、すべてのPHPコードを無視してhtmlとして解釈します。
/etc/apache2/httpd.confファイルを確認しましたが、phpモジュールをロードする行があります。
LoadModule php7_module modules/libphp7.so
PHPを実行する方法を知っている人はいますか?
関連する可能性のあるディレクトリとファイルに関するいくつかの情報をお知らせします。
/など/
Apache 2/
php-fpm.conf
PHP-fpm.d/
php.ini
/etc/apache2/
追加/
httpd.conf.bak
無言のタイプ
httpd.conf
魔法
オリジナル/
/usr/lib/php/
- (空)
/usr/モジュール/libphp7.so
答え1
モジュール(httpd.confファイルに質問の内容に従って実行されたことが示されている)をロードするだけでなく、SetHandler
ディレクティブ*.php
やその他の適切な拡張を使用する必要があります。
これはうまくいくはずです。ただドアの後ろに入れてくださいLoadModule
。
<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
上記のステートメントの目的は、Apacheに特定の拡張子を持つファイルを処理する方法を教えることです。これは、ファイルの他の端(文字列の終わりを表す).+\.ph(p[3457]?|t|tml)$
と一致する正規表現です。そのため、などで終わるファイルがブラウザに転送されます。$
.php
.php3
.php4
httpdサービスを再起動することを忘れないでください。
それでも機能しない場合は、ロードするモジュールを参照するパスを確認し、モジュールがlibphp7.so
ロードする正しい場所にあることを確認してください。