
レンタルサーバのSmartyのパーミッションでつまずいています。
とあるAレンタルサーバでsmartyを利用したPHPのプログラムを設置するとなんの問題もなく設置できるのですが
別のBレンタルサーバでsmartyを利用したPHPのプログラムを設置すると以下のようなエラーがでます。
Fatal error: Smarty error: unable to write to $compile_dir '/virtual/xxx/public_html/xxx/templates_c'. Be sure $compile_dir is writable by the web server user. in /virtual/xxx/public_html/xxx/class/Smarty/libs/Smarty.class.php on line 1093
書き込み権限がtemplates_cディレクトリにないということらしいですが、Bレンタルサーバのtemplates_cディレクトリのパーミッションは、0755で、設置が成功したAレンタルサーバのtemplates_cディレクトリのパーミッションも、0755です。
実行しているSmarty.class.phpのパーミッションも、0644で同じです。
同じパーミッションでレンタルサーバごとにエラーが出る出ないが違う理由はなんでしょうか?サーバの設定に詳しくないのでよくわかりません。考えられる原因があれば教えてください。
No.2ベストアンサー
- 回答日時:
phpの実行モードはどうなっていますか?AサーバがCGI動作で、Bサーバがモジュール動作なんてオチがありそうなので・・・
モジュール動作ならApacheの権限でしか動作しませんからotherへの書き込み権限が必要です(606とか707とか)。
ヒントを下さりありがとうございます。
補足します。
phpinfo()でServer APIを調べました。
成功するAレンタルサーバは、CGI/FastCGI。
失敗するBレンタルサーバは、Apache。
検索して調べてみたところ、safe_modeという言葉があったので、
phpinfo()でsafe_modeを調べました。
成功するAレンタルサーバは、Off。
失敗するBレンタルサーバは、On。
CGIモードやセーフモードで検索したサイトを見たところどうやらエラー原因にヒットしたようです。糸口が見つかったのでこれから調べてみます。ありがとうございます。助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) レンタルサーバ(ウインドウズサーバ)を借りています。 ドメインにアクセスしたときに表示するディレクト 2 2022/12/30 00:02
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
session_startでクッキー範囲を...
-
上位ディレクトリ名(フォルダ...
-
Subversionのリポジトリの削除
-
WSHやVBSについて
-
iアプリは、jarファイルをダウ...
-
CFileDialogの最初のディレクト...
-
ディレクトリ見たいのですが・・・
-
PHPのWarningとは?
-
ターミナル上のコマンド操作
-
PHPの実行結果画面について
-
O/Rマッパーの選定
-
renameでのPermission deniedエ...
-
図に示す階層構造で,現在のデ...
-
makefile でファイルをコピーす...
-
C♯での特殊ディレクトリ取得に...
-
PHPでディレクトリ名のみ表示す...
-
Subversionで、ファイルをリネ...
-
visualstudioでc#のdllができない
-
includeが出来ない訳とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
makefile でファイルをコピーす...
-
CFileDialogの最初のディレクト...
-
FTPでのファイルとディレクトリ...
-
visualstudioでc#のdllができない
-
VB.NET 最下位のディレクトリ名...
-
MkDir関数
-
現在位置より2つ上のディレク...
-
DLL のロードの順序
-
rmdirでフォルダが消せません
-
Subversionで、ファイルをリネ...
-
絶対パス?絶対アドレス?意味...
-
define でのルートディレクト...
-
Visual C++ 2005 Express Editi...
-
ツリーメニューを縮小させたい
-
JAVA内で複数のファイルを削除...
-
fopenでファイルが開かない場合...
-
Smarty includeでテンプレート...
おすすめ情報