0

PFBCを使用しようとしていますが、問題が発生しています。

あるサーバーでは、フォルダ「PFBC」が/ public_html /にアップロードされており、フォームは正常にレンダリングされています。

動作していないサーバーでは、フォルダ「PFBC」が/ www / htdocs /にアップロードされており、フォームがまったくレンダリングされず、エラー500内部サーバーエラーが発生します。

私が使用しているコードは次のとおりです

<?php
session_start();
include($_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php");
$form = new PFBC\Form("TestForm", 300);
$form->addElement(new PFBC\Element\Button);
$form->render();
?>

echo $_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php";

戻り値/usr/home/thin30/www/htdocs/PFBC/Form.php

次のコードをForm.phpファイルに追加します

$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";

戻り値Full path to this dir: /usr/home/thin30/www/htdocs/PFBC

フォームがレンダリングされない理由を誰かに教えてもらえますか?または、役立つ可能性のある方向に私を向けますか?

上のフォルダのアクセス許可/PFBC/755(動作しているサーバーと動作していないサーバーの両方)です。

4

2 に答える 2

0

いいえ; 5.2.17です。これはどのように違いを生むのでしょうか?申し訳ありませんが、私はPHPが得意です。

はい、そうです。そのコードは、php5.3以降を必要とする名前空間を使用しているようです。

実際、グーグルのコードページを見ると、名前空間を使用せずに2.xバージョンを使用できるように見えます。例は次のとおりです。

/PFBC 2.x PHP 5
session_start();
include($_SERVER["DOCUMENT_ROOT"] . "/PFBC/Form.php");
$form = new Form("GettingStarted", 300);
$form->addElement(new Element_Textbox("My Textbox:", "MyTextbox"));
$form->addElement(new Element_Select("My Select:", "MySelect", array(
   "Option #1",
   "Option #2",
   "Option #3"
)));
$form->addElement(new Element_Button);
$form->render();
于 2012-09-07T03:15:50.600 に答える
0

このプロジェクトには、2つの別個のダウンロードがあります。1つはPHP 5(名前空間なし)用で、もう1つはPHP5.3以降用です。PHP 5.3以降のバージョンでは名前空間を使用する必要があり、PHP5バージョンでは使用できません。

この問題を解決するには、PHP 5バージョン(http://php-form-b​​uilder-class.googlecode.com/files/pfbc2.3-php5.zip)をダウンロードして、サーバーの既存のPFBCディレクトリを次のように置き換えます。ダウンロードに含まれているもの。

お役に立てれば。

于 2012-11-25T02:15:37.307 に答える