###追記
コメントを参考に構成を変更しました。
libsの配置を以下に変更 旧)/var/www/html/smarty-compile-check/libs/ 新)/usr/local/lib/smarty-3.1.30/libs/ ※smarty-3.1.30は、サイトからDLしたものを解凍してそのまま配置しています。
###発生している問題と達成したいこと
$smarty->display(~~) を実行したとき、以下のエラーで弾かれてしまいます。
PHP Fatal error: Uncaught --> Smarty: unable to write file /var/www/html/smarty-compile-check/templates_c/wrt586e97166ea3f4_57131635 <-- \n thrown in /var/www/html/smarty-compile-check/libs/sysplugins/smarty_internal_runtime_writefile.php on line 49
また、上記エラーで検索して、templates_cとcacheに対して以下のコマンドを叩いて権限を変更しましたが、変わらずにこのエラーが出ました。
[root@localhost smarty-compile-check]# chmod 777 templates_c/ cache/ [root@localhost smarty-compile-check]# ls -la 合計 8 drwxr-xr-x. 6 root root 79 1月 6 04:02 . drwxr-xr-x. 4 root root 55 1月 6 03:31 .. drwxrwxrwx. 2 root root 6 1月 6 03:55 cache -rw-r--r--. 1 root root 114 1月 6 04:02 index.php drwxr-xr-x. 4 root root 4096 1月 6 02:32 libs drwxr-xr-x. 2 root root 22 1月 6 04:04 templates drwxrwxrwx. 2 root root 6 1月 6 03:55 templates_c
このエラーでindex.tplが表示されずに「HTTP ERROR 500」となっているので、templates_cにコンパイルしたファイルを書き込ませてindex.tplを表示させたいです。
###使用している環境
Virtualboxの仮想マシンを使用しています。OSはCentOS7です。
###現在の状況
実行している関連ファイルは以下のような構成になっています。
/var/ www/ html/ smarty-compile-check/ templates/ index.tpl templates_c/ cache/ index.php /usr/ local/ lib/ smarty-3.1.30/ libs/
###index.phpとindex.tplの中身
index.php
php
1<?php 2 define("SMARTY_DIR", "/usr/local/lib/smarty-3.1.30/libs/"); 3 require_once(SMARTY_DIR . "Smarty.class.php"); 4 $smarty = new Smarty(); 5 $smarty->display("index.tpl");
index.tpl
html
1<!DOCTYPE HTML> 2<html> 3 <head> 4 <title>Welcome Smarty !!!</title> 5 </head> 6 <body> 7 hogehoge smarty 8 </body> 9</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/07 08:39
退会済みユーザー
2017/01/07 08:41 編集
2017/01/07 08:50
退会済みユーザー
2017/01/07 08:56
退会済みユーザー
2017/01/07 08:58
2017/01/07 08:59
2017/01/07 09:11
退会済みユーザー
2017/01/07 09:20
2017/01/07 09:28
退会済みユーザー
2017/01/07 09:30
2017/01/07 09:34
退会済みユーザー
2017/01/07 09:35
2017/01/07 09:37
退会済みユーザー
2017/01/07 09:41