【问题标题】:PHP Include, PHP Require Once, PHP 5.2 to 5.6PHP Include, PHP Require Once, PHP 5.2 to 5.6
【发布时间】:2017-05-07 15:00:44
【问题描述】:

Godaddy 在我的一个网站上安装 Wordpress 时遇到了一些问题,他们建议我转移到他们的新 cpanel 托管,而不是旧的托管。我这样做了。突然间,我的许多网站都宕机了。

我开始使用 Godaddy 解决问题,显然有问题的网站使用的是 5.2,并且由于新的 cpanel 不支持 5.2,因此代码的某些部分没有被渲染。具体代码为:

<?php include("header.php"); ?>

我把它改成了:

&lt;?php require_once('header.php'); ?&gt;

还是不行。更进一步,.htaccess 文件添加了以下代码:

Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html

老实说,我不记得我添加那段代码的原因,但出于某种原因我需要它。

对于编辑 html 页面中的代码和编辑 .htaccess 中的代码的任何建议,我们将不胜感激。

提前致谢。

【问题讨论】:

  • include/require 在 5.2 和 5.6 中的工作方式并没有什么不同。不过,其他事情确实如此。应该有特定的错误消息表明问题所在 - 不是那一行。
  • 我的部分故障排除是将包含更改为要求。那没有用。也许我不应该提到它。在 PHP 5.2 上,.htaccess 中的 addhandler 代码允许我的网站通过访问 php 包含正确呈现。在 PHP 5.6 上,.htaccess 中的 addhandler 代码无法处理 php 包含。查看页面源代码时,我可以看到浏览器没有读取 php 包含。在其他条件相同的情况下,它与 html 中的 php 包含和 .htaccess 中的 addhandler 代码有关。
  • 很高兴您找到了解决方案。您可以添加自己的答案,而不是将您的解决方案编辑到问题中吗?这将使其他用户更容易找到。

标签: php php-5.6 php-5.2


【解决方案1】:

(已解决!)

在对这个问题进行了很长时间的故障排除后,我发现了许多关于将什么添加到 .htaccess 文件中的建议。在整个互联网上推荐了许多 addhandler 或 addtypes。我找到了这个网站:

https://manage.accuwebhosting.com/knowledgebase/2492/Parse-HTML-As-PHP-Using-HTACCESS-File.html

我尝试了列表中的每一个,最终,这是有效的:

`AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html`

我希望这可以帮助其他人。

【讨论】:

    猜你喜欢
    • 2016-07-03
    • 2014-03-02
    • 2012-07-08
    • 1970-01-01
    • 2012-01-18
    • 2011-04-07
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多