※ ChatGPTを利用し、要約された質問です(原文:Pleskサーバ利用時にSmartyのassignが出来ません)
Pleskサーバ利用時にSmartyのassignが出来ない
このQ&Aのポイント
Pleskサーバを利用して、Apache+Smarty+PHPのWEBプログラミングを行っていますが、PHPのユーザ関数内でSmartyのassign()関数を使用すると、Smarty変数の生成ができません。
Plesk導入前は問題なく動作していたプログラムですが、Plesk導入後はユーザ関数内でのassign()が無効となっています。
Pleskのsafe_modeはOffに設定されています。Pleskに詳しい方からのアドバイスを求めています。
Pleskサーバ利用時にSmartyのassignが出来ません
現在、Pleskサーバを利用して、
Apache+Smarty+PHPのWEBプログラミングを行っているのですが、
PHPのユーザ関数内で、Smartyのassign()関数を使用した場合に、Smarty変数の生成を行うことが出来ません。
例としては以下のような感じになります。
================================================================
<?
$smarty->assign( 'a', 'a' ); // テンプレート上で{$a}とするとaと表示される
test( $smarty );
$smarty->display('index.tpl'); // index.tplを表示する
function test( $smarty )
{
$smarty->assign( 'b', 'b' ); // テンプレート上で{$b}としてもbは表示されない
}
?>
================================================================
$smartyというのは、$smarty = new Smarty();を行ったものです。
このプログラム自体は、Plesk導入前は動作しておりましたが、
Plesk導入後は上記のように、ユーザ関数外では、通常通りassign()を行うことが出来るのですが、ユーザ関数内だと無効となってしまいます。
また、Pleskのsafe_modeはOffにしております。
Pleskは初めて使用するため、動作上まだ知らないことばかりで、とても初歩的なミスをしているかと思いますが、Pleskに詳しい方がおりましたらどうか教えて頂きたいと思います。
お礼
ご回答ありがとうございます。 11spec0様の方法で解決することができました! これからも、こちらにはまたお世話なるかと思いますが、 どうか宜しくお願い致します。