这个问题已经回答(见下面的问题)
原始问题: 我建立了一个可以正常工作且没有问题的网站。然后我们开始从基于 VPS 的服务器迁移到真正的专用服务器。在这样做的同时,我们的托管公司将我们从 CentOS 4 升级到 CentOS 6,从 PHP 5.2.9 升级到 PHP 5.3,并将我们从 DSO 切换到 SuPHP。现在新服务器导致了我们以前没有的错误。我们的一个页面显示为空白,我已将其缩小到一行代码(第 26 行)。
1. class directoryByLetterReverse{
2. private $da=0;
3. public $category;
4. public $letter;
5. public $listing;
6. function __construct($letter,$category,$conn){
7. $this->letter=$letter;
8. $this->category=$category;
9. $recordSet=&$conn->Execute('SELECT members.Member_ID AS MemberID, companies.CompanyName AS CompanyName, members.IPAddress AS IPAddress, directory_table.dir_id, members.BusinessType_ID, members.MemberType FROM members Inner Join companies ON companies.Company_ID = members.Company_ID Left Join directory_table ON directory_table.member_id = members.Member_ID WHERE companies.CompanyName LIKE "'.$this->letter.'%" AND members.BusinessType_ID LIKE "'.$this->category.'" AND members.published="1" ORDER BY directory_table.dir_id DESC, members.Member_ID DESC;');
10. if(!$recordSet){
11. print $conn->ErrorMsg();
12. } else {
13. $this->listing[0]['memberid']=''.$recordSet->fields[0].'';
14. $this->listing[0]['companyname']=''.$recordSet->fields[1].'';
15. $this->listing[0]['ipaddress']=''.$recordSet->fields[2].'';
16. $this->listing[0]['dirid']=''.$recordSet->fields[3].'';
17. $this->listing[0]['typeid']=''.$recordSet->fields[4].'';
18. $this->listing[0]['memtype']=''.$recordSet->fields[5].'';
19. while($array=$recordSet->FetchRow()){
20. $this->da++;
21. $this->listing[$this->da]['memberid']=''.$recordSet->fields[0].'';
22. $this->listing[$this->da]['companyname']=''.$recordSet->fields[1].'';
23. $this->listing[$this->da]['ipaddress']=''.$recordSet->fields[2].'';
24. $this->listing[$this->da]['dirid']=''.$recordSet->fields[3].'';
25. $this->listing[$this->da]['typeid']=''.$recordSet->fields[4].'';
26. $this->listing[$this->da]['memtype']=''.$recordSet->fields[5].''; < - - - - this line right here is what is causing the problem
27. };
28. };
29. }
30. function returnSingle($j){
31. return $this->listing[$j]['memberid'].' '.$this->listing[$j]['companyname'].' '.$this->listing[$j]['ipaddress'].' '.$this->listing[$j]['dirid'];
32. }
33. }
在我的一生中,我找不到第 26 行有任何问题,但如果我把它留在那里,我会得到一个空白页,如果我将其注释掉,一切正常(直到你转到引用它但我期望的页面被打破)。
另外,请注意,我正在使用 ADOdb 数据库抽象库 (http://adodb.sourceforge.net/) 进行 MySQL 交互。
事实证明,代码没有任何问题,测试服务器只是性能有限,无法处理未缓存页面加载的负载。感谢您的评论,因为它们让我朝着正确的方向思考以找到我需要的东西。