[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:26353] Re: PHP 5.0.5



桑村です

> > > Fatal error: Only variables can be passed by reference in /opt/htdocs/pukiwiki-1.4.5/rules.ini.php on line 26
> 
> > のようなエラーがでるようになってしまいました。
> 
>   http://blog.ohgaki.net/index.php/yohgaki/2005/07/13/
> の辺りの話?

そのようです。

> > 最新版を見つけたので、Pukiwiki のパッケージを作りました。
> 
> このパッケージは上記問題をクリアしているということでしょうか?
> 

すみません、このパッケージを作って試してみたときのエラーです。
php-5.0.4_0.4.1 (Hardened-PHP)のほうでは動いてたので、エンバグ
かと思いきや仕様なのですね。


そのエラーの場所(rules.ini.php on line 26)は、
--
$str_rules = array(
        'now\?'         => format_date(UTIME),
        'date\?'        => get_date($date_format),
        'time\?'        => get_date($time_format),
        '&now;'         => format_date(UTIME),
        '&date;'        => get_date($date_format),
        '&time;'        => get_date($time_format),
        '&page;'        => array_pop(explode('/', $vars['page'])),  // <=ここ
        '&fpage;'       => $vars['page'],
        '&t;'           => "\t",
);
--
のようになっていて、あらかじめ、
 $exp_page= explode('/', $vars['page']);  
のように別の変数に関数の出力を代入して、
--
      '&page;'        => array_pop($exp_page),                 
--
のように使えばエラーは起きません。PHPの代入の性質を利用して、
次のように1行の変更でも良いでしょう。
--
        '&page;'        => array_pop($exp_page=explode('/', $vars['page'])),
--
 Jun Kuwamura
rC Cm
  ^
  ~

References
[plamo:26329] PHP 5.0.5, KATOH Yasufumi
[plamo:26331] Re: PHP 5.0.5, J.Kuwamura
[plamo:26332] Re: PHP 5.0.5, KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム