0

皆さん、私にはこの問題があり、解決方法がわかりません。私は説明する:

vps を雇い、vhm/cpanel を使用して centos6 テンプレートをインストールしました。すべてを構成しようとしましたが、機能しているようです。唯一の問題は、共有ホストで使用したスクリプトが実行されなくなり、「致命的なエラー: クラス + クラスの名前を再宣言できません」というエラーが表示されることです。このスクリプトは、たとえば joomla2.5、joomla 3 などです。

フォーラムを検索しましたが、誰もこの問題を理解していないようです。「require_once」の代わりに「include」を使用することについて誰もが考えていますが、このスクリプトには何も触れておらず、以前のホストから新しい vps の新しい環境に移動しただけなので、そうではありません。私にとっては、スクリプトではなく、この環境で何か問題が発生していると思います。新しい vps で何が起こっているか知っている人はいますか? お願いします?

4

1 に答える 1

0

私は問題を解決しました!このエラーは、間違った php ハンドラー「dso」が原因でした。このハンドラーでは、1 つのスクリプト操作内でクラスをロードまたは再宣言することはできません。「cgi」に変更すると、すべてがスムーズに実行され始めました。cpanel には「dso」php ハンドラをデフォルトとして含めるべきではなく、代わりに「cgi」または「suPHP」を設定するべきだと思います。これは、PHP を cgi/apache モジュールとして実行することに関する記事です。 http://docs.joomla.org/Should_PHP_run_as_a_CGI_script_or_as_an_Apache_module%3F

この別の記事では、php5 環境で cgi を使用し、php4 環境で dso を使用することを提案しています。

http://blog.servint.net/2011/10/28/the-tech-bench-all-about-php-handlers/

共有ホストでこの問題が発生した場合、他の回避策はわかりませんが、ホスティング会社に電話して、サーバーのphpハンドラーを変更して問題に対処してください。

PHPハンドラーに関する別の興味深い記事があります http://www.webhostingtalk.com/showthread.php?t=679944

ありがとう、これが誰かを助けることを願っています。

于 2013-06-10T07:58:00.563 に答える