【发布时间】:2012-11-10 13:14:30
【问题描述】:
我正在使用 LAMP 堆栈来开发 PHP 应用程序。我正在使用 require_once 来包含类文件。我需要在多个 PHP 页面中使用这些类文件中的函数。因此,我使用 require_once 将这些类文件包含在所有必需的 PHP 页面中。但是,如果我将这些类文件包含在多个页面中,PHP 文件就会变为空白。它什么也不显示。查看源代码也不显示任何内容。
文件:test.php、process.php 和 class.test.php
test.php 有
<?php
session_start();
require_once 'classes/class.test.php';
.
Few more classes
.
.
?>
<html>
<form name = "myForm" method="POST" action="process.php">
<input type = "text" name="username" value=""/>
<input type = "submit" value="Submit" />
</form>
</html>
进程.php
<?php
session_start();
require_once 'classes/class.test.php';
$obj_test = new test();
$obj_test->test();
?>
class.test.php
<?php
session_start();
require_once 'class.misc.php';
require_once 'config.php'; //DB connection details
function test()
{
$obj_misc = new misc();
$id = $obj_misc->random_ID();
$username = $_POST['username'];
$query = "INSERT INTO test_table VALUES ('$id','$username',NOW());
mysql_query($query);
}
?>
现在,它返回一个空白页。如果我注释掉 process.php 中的 require_once,test.php 页面会显示表单,但在提交表单时 process.php 会抛出错误“找不到类测试”。
在过去的两周里,我一直在努力解决这个问题。 :( 在那之前它工作得很好。我不明白出了什么问题。请帮忙。
【问题讨论】:
-
也许你应该检查类所在文件的路径。它们会根据需要它们的文件的位置而变化
-
嗨@sarghau,欢迎来到SO。 +1 格式正确的问题。现在,为什么你有两个
test.phpsn-ps?问题是你不小心打错了test.php吗? -
你检查过你的错误日志吗?我通常建议省略结尾的 ?>,因为它可能导致标题被过早发送。
-
在
process.php中评论某事会如何影响test.php,当你说这不与test.php互动时?你在误解某事 -
启用 php 错误,以免下次出现空白页。错误将解释什么是错误的,您不需要在 SO 中发布问题。
标签: php require-once