ubuntu で Smarty3 を設定した後、ページが空白になります
今日、マシンをセットアップするときに、Smarty-3.1.21.tar.gz をダウンロードし、解凍した後、lib ファイルを置きます。 /var/www/html /SM に移動し、フォルダー名を Smarty に変更し、/var/www/html/SM ディレクトリに 2 つのフォルダー template と templates_c を作成し、権限を /var/ の drwxrwxrwx
に変更します。 www/html/SM ディレクトリ 新しい php ファイルindex.php を作成します
<?php<br /><br /> <br /> require './smarty/Smarty.class.php' ;<br /> $smarty=new Smarty();<br /> $smarty->setTemplateDir('./templates');<br /> $smarty->setCompileDir('./templates_c');<br /> //print_r($smarty->setCompileDir());<br /> $smarty->assign('title',"dfdf");<br /> $smarty->assign('author',"dfdf");<br /> $smarty->assign('poem1',"dfdf");<br /> $smarty->assign('poem2',"dfdf");<br /> $smarty->assign('poem3',"dfdf");<br /> $smarty->assign('poem4',"dfdf");<br /> $smarty->display('Example1801.html');<br />?>
ログイン後にコピー
/var/www/html/SM/templates ディレクトリに新しい html ファイル Example1801.html を作成します
<html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><br /><title>第一个 Smarty程序</title><br /></head><br /><body><br /> <table border="1"><br /> <tr><br /> <td colspan="2" align="center">{$title}</td><br /> </tr><br /> <tr><br /> <td colspan="2">{$author}</td><br /> </tr><br /> <tr><br /> <td width="120">{$poem1}</td><br /> <td width="120">{$poem2}</td><br /> </tr><br /> <tr><br /> <td>{$poem3}</td><br /> <td>{$poem4}</td><br /> </tr><br /> </table><br /></body><br /></html>
ログイン後にコピー
ブラウザに入力 http://localhost/SM/index.php の後に空白のページが表示されます
print_r($smarty->setCompileDir()) を実行
表示
Smarty オブジェクト ( [auto_literal] => 1 [error_unassigned ] => [use_include_path] => [template_dir:Smarty:private] => 配列 ( [0] => ./templates/ ) [joined_template_dir] => ./templates/ [joined_config_dir] => . /configs/ [default_config_handler_func] => [default_plugin_handler_func] => /var/www/html/SM/smarty/plugins/ ) private] => ./cache/ [config_dir:Smarty:private] => Array ( [0] => ./configs/ ) [force_compile] => [compile_check] => 1 [use_sub_dirs] => [allow_ambiguous_resources] ] => ache_lifetime] => 3600 [cache_id] => [left_delimiter] => 1 [デバッグ] => [デバッグ_ctrl] => [smarty_debug_id] => ファイル:/var/www/smarty/debug.tpl [get_used_tags] => [config_overwrite] => 1 [config_read_hidden] => 1 [locking_timeout] => 配列 ( ) [default_resource_type] => ファイル [caching_type] => Array () [default_config_type] => Array () [registered_plugins] > 配列 ( ) [プラグイン検索順序] => 配列 ( [0] => 関数 [1] => ブロック [2] = > コンパイラー [3] => クラス ) [登録オブジェクト] => 配列 ( ) [登録クラス] => 配列 ( ) [登録リソース] => 配列 ( ) [_キャッシュリソース] => > 配列 ( ) [autoload_filters] => 配列 ( ) [escape_html] => 1423049920.1225 [_dir_perms] => 505 [_tag_stack] => 配列 () [smarty] => Smarty オブジェクト *RECURSION* [_par serdebug] => 配列 () [template_class] => tpl_vars] => 配列 () [親] =>インターネット上の多くのネチズンは、chmod 777 を使用してアクセス許可を変更しましたが、これはアクセス許可の問題であると述べました。誰かが私に答えてくれることを願っています。 Ubuntuを使い始めてPHPに触れるようになりましたが、まだ理解できないことがたくさんあります。答えが得られることを願っています。
------解決策のアイデア----------------------エラーメッセージをオンにしてみてはいかがでしょうか?間違いはありますか?
-----解決策のアイデア----------------------私は、 Program ini_set("display_errors",1); error_reporting(E_ALL); の場合、エラーは報告されていますか?
この種のスマートな空白ページは、おそらくディレクトリのアクセス許可の問題です。 template_c、template だけでなく、親ディレクトリにも少なくとも x 権限が必要です。そうしないと書き込みできません。