2

PHP 5.39 mod_ssl/2.2.6 OpenSSL/0.9.8g を使用して Windows 7 で Apache 2.26 を実行しています。

PHP は正常に動作し、Apache も正常に動作します。

ただし、テスト サイト用に、ディレクトリごとにカスタム php.ini ファイルを作成しようとしています。

私は php_flag を使用できましたが、実際に使用しましたが、機能するカスタム php.ini ファイルを作成してみたいと思います。これをグーグルで検索しようとしましたが、関連するものが見つかりませんでした。

これは、C:/www/vhosts/localhost/testsite1 の現在の .htaccess です。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php


#RewriteCond %{REQUEST_fileNAME} !\.php -f
#RewriteRule .* index.php

AddType text/html .asp
AddHandler application/x-httpd-php .page

php_value include_path "./php:/php/"

それでも、php 内のカスタム php.ini に変更を加えて短いタグをオフにしました [テスト用のみ] が、代わりに php コードが表示されました。

これについて助けていただければ幸いです。とても役に立ちます!

(このApacheのインストールは開発/テスト用であることを覚えておいてください)

4

2 に答える 2

5

使用しているphp_flag場合は、おそらく mod_php5 を使用しています。カスタム 'php.ini' ファイルはこれではサポートされていません。php.iniPHP の起動時にのみロードされるため、suPHP または equiv を使用する必要があります。これは、mod_php5 および FCGIの要求ごとではないためです。

ただし、PHP 5.3 を使用しているため、リクエストごとに解析される.user.ini ファイルを使用することもできます。

于 2012-04-14T15:56:45.887 に答える
2

php.ini で指定されているように、(同じサーバー上で実行されている) サイトごとに異なる設定が必要だと感じることがよくあります。したがって、これらの設定をオーバーライドするために ini_set() または .htaccess を使用して、php ファイルの変更を開始します。このハウツーでは、ウェブサイトごとに個別の php.ini ファイルを用意することで、php 設定が異なるというこの問題を解決する方法を説明します。

したがって、ドキュメント ルートが /var/www/html/example/ で、ドメインが www.example.com の Web サイトがあるとします。テスト目的で、/var/www/html/example/phpinfo.php に小さなファイルを作成できます。

<?php
phpinfo();
?>

http://example.com/phpinfo.phpを実行すると、現在の php 設定が表示されます。

php.ini ファイルを /etc/php.ini ファイルから /var/www/html/example にコピーします。

[root]# cp /etc/php.ini /var/www/html/example #fedora ユーザー向け

[chia]$ sudo cp /etc/php5/apache2/php.ini /var/www/example # Debian および Ubuntu の場合

あとは、この Web サイトの php 設定の場所を apache に伝える簡単なトリックが必要です。構成ファイルでこの小さな変更を行う必要があります。

<VirtualHost 10.24.11.2:80>

ServerName example.com

ServerAlias www.example.com

PHPINIDir /var/www/html/example

</VirtualHost>

PHPINIDir は、ファイル php.ini が存在するディレクトリである必要があります。

この後、Apacheを再起動します

[root]# service httpd restart # Fedora/Redhat/CenOS ベースのシステムの場合

[chia]$ sudo apache2 restart # Debian/Ubuntu ベースのシステムの場合

于 2014-04-18T16:45:59.503 に答える