首页 文章

为什么PHP包含在本地服务器而不在网站上

提问于
浏览
2

问题描述简要说明:
PHP脚本似乎可以在我的本地Web服务器上工作,当我从 index.html 文件的页脚标签中查找它时,但是当我将它上传到我的网站时它不起作用 . 请注意,我已确保所有路径都正确,并且脚本文件具有自己的php标记等 .

问题描述详情:
是的,我是PHP脚本的新手,是的,之前可能已经提出了这个问题的变体 . 我读过的一些问题的答案已经注意到php脚本文件的路径不正确 . 我已经检查了所有路径,并确认它们确实是正确的(包括Web托管服务器上的那些) . 此外,我已经成功地使用PHP5在运行Apache2的本地服务器上运行脚本,但在将其上传到我的网站时却没有成功 .

本质上,我正在尝试实现一个命中计数器脚本,我从标记为Visitors counter for simple web sites like Vinaora的Stack Overflow帖子中获取该脚本 . 调用php脚本的代码看起来像这样....

&ltfooter>
    <!-- Execute Hit Counter Script -->
    <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?>
  </footer>

对于像我这样的人,我无法弄清楚为什么它不能在网络托管服务器上工作 . 我尝试过调用脚本的其他组合,比如

&ltfooter>
    <!-- Execute Hit Counter Script -->
    <?php include('./php/hitcounter.php'); ?>
  </footer>

和,

&ltfooter>
    <!-- Execute Hit Counter Script -->
    <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?>
  </footer>

所有组合似乎都可以在我的本地Web服务器上运行,但不能在网站上运行!另请注意,使用其他方法(即使在Web托管服务器上)调用其他PHP脚本也没有问题,例如 .

&ltform id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post">

任何意见/建议将不胜感激 .

5 回答

  • 0

    你首先做的是完全不正确的事情 .

    当我从index.html的页脚标记中“包含”它时,PHP脚本似乎可以在我的本地Web服务器上运行

    完全错了

    没有嵌入php文件在html文件中的东西(除了mod_rewrite ...) . 要解释PHP脚本,你必须拥有它(在99%的情况下)使用php后缀 . 这样您就可以让PHP将它与常规PHP区分开来并发送给php解释器 .

    简单地说 - 创建这个文件(a.html):

    <body>
    abcd<?php echo 'efgh';?>
    </body>
    

    并在浏览器中查看结果 - 使用... / a.html

    你看到了什么?

    abcd

    并不是

    abcdefgh

    最重要的是你总是必须有PHP而不是相反 . 如果不正确,请解决此问题或更新您的问题 .

  • 5

    你有任何PHP错误吗?

    首先,您需要激活错误报告 .

    在包含你的文件之前把这个

    ini_set('display_errors',1);
    error_reporting(-1);
    

    PHP应该告诉你发生了什么 .

    如果您没有看到任何内容,请 change the filename index.html to index.php 然后重试 .

  • -1

    您可以尝试将“包含”代码直接粘贴到调用代码中 . 也许这是包含的代码本身行为不端......

  • -2

    也许你已经在你的包含路径中使用了 ""

    错误:

    <?php include'include \ header.php'; ?>

    你应该使用 "/" 来工作 .

    当前:

    <?php include'include / header.php'; ?>

  • 0

    有时它可能是套管的费用 . 检查你的命名是否大写 . 在某些服务器上,Index.php不等于index.php

相关问题