LoginSignup
1
0

More than 3 years have passed since last update.

さくらのレンタルサーバー  php.iniをドメインごとに設定したい

Posted at

環境
さくらのレンタルサーバー ビジネス
ドメイン6つ 6サイト

php.iniには
output_buffering = On
display_errors=Off
error_reporting=E_ERROR
の記述

display_errors=offにしたのは
他サーバーで他社が作成したソースを移行したときに、エラーが表示されたため。
直せばよいのですが、誰もわからない、直す時間がないので、
display_errors=offにしています。
エラーさえ表示されなければきちんと動いているのでとりあえずめでたし、めでたし。

月日は流れ・・・・

新たなサイトを作成することになりました。

開発中はエラーを表示したい。
でも、display_errors=OffをOnにすると既存サイトにエラーが表示されてしまう。

そこで さくらのレンタルサーバーでPHP.iniをドメインごとに設定できないか調べました。

環境・前提

さくらのレンタルサーバービジネス
PHP モジュールモード
プログラムの ini_set()は使わない
sshコマンドは使わない
初心者に優しく

結論

ディスプレイにエラーを表示するのはあきらめて、
php.ini でエラーログの出力設定をする

以下この結論に至った道のりです。

php.iniを複数作成してみる。

※結論 だめでした

さくらのレンタルサーバーの場合
php.iniは
/home/〇〇〇/www/php.ini

そこでphp.iniを作成し、ドメインフォルダ以下においてみました。
/home/〇〇〇/www/〇〇〇/php.ini

で、phpinfo()で php.iniのパスを確認したのですが・・・・
/home/〇〇〇/www/php.ini と初期設定のまま。残念

php.iniの設定項目
php.ini以外でも設定できるのか
エラーログの設定で使う定数

.user.ini ファイルを使ってみる

.user.iniでディレクトリ単位での ini ファイルを使えます。
ただし、モジュール―モードでは使えない。
なので今回は× 残念。

.user.ini マニュアル

.htaccess を使ってみる

.htaccessを使ってPHPの設定を行う場合には、「php_value」ディレクティブ、または、「php_flag」ディレクティブを使用します。

でさくらのレンタルサーバーで使えるのか調べてみました。
なんと、
PHPに関する設定を [ php.ini ] にせず、[ .htaccess ] に 「 PHP_Flag 」 や 「 PHP_Value 」 などを記述すると500エラーになるのです。

さくらのレンタルサーバー500エラー

image.png

画面にエラーを表示するのはあきらめてエラーログにする

結局PHPのエラーログを出力するようにしました。

さくらのレンタルサーバーの初期設定では
log_errors は off になっています。
そこで www以下にphplogフォルダを作成し、
以下の設定をします。

log_errors=On
error_log="/home/〇〇〇/www/phplog/error.log"

設定箇所は
さくらのレンタルサーバーコントロールパネル→スクリプト設定→php.ini設定

image.png

通常はエラーログの出力先はWEBからアクセスできない場所がよいのですが、
FTPでアクセスしたときのドキュメントルートがWWW以下なので、
「ログのありかがわからない」という問い合わせをさけるために www以下にしています。

さくらのレンタルサーバーのエラーログも出力する

さくらのレンタルサーバーにもエラーログを出力する設定はあります。
ただし、初期では出力しないようになっているので出力するようにします。

サーバーステータス→アクセスログ→アクセスログの保存→エラーログも保存するにチェックをいれます。

さくらのレンタルサーバーエラーログについて

image.png

正直エラーログをみてもよくわからないので、さくらのレンタルサーバーのエラーログ&PHPのエラーログの二つを照らし合わせ乗り切りたいです。

どなたかよい方法を教えてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0