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

该项目有两个不同/单独的下载 - 一个用于 PHP 5(无命名空间),另一个用于 PHP 5.3+。您必须在 PHP 5.3+ 版本中使用命名空间,而您不能在 PHP 5 版本中使用它们。

要解决您的问题,您需要下载 PHP 5 版本 (http://php-form-b​​uilder-class.googlecode.com/files/pfbc2.3-php5.zip) 并将服务器现有的 PFBC 目录替换为下载中包含的那个。

希望这可以帮助。

于 2012-11-25T02:15:37.307 回答
0

不; 现在是 5.2.17。这有什么不同?抱歉,我很擅长 PHP。

是的,它确实。该代码似乎使用了需要 php 5.3 或更高版本的名称空间。

实际上,在查看 google 代码页时,您似乎可以使用 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 回答