问题描述简要说明:
当我从 index.html 文件的页脚标记中包含'脚本时,PHP脚本似乎可以在我的本地Web服务器上运行,但是当我将其上载到我的网站时不起作用。请注意,我已确保所有路径都正确,并且脚本文件具有自己的php标记等。
详细问题描述:
是的,我是PHP脚本的新手,是的,之前可能已经问过这个问题的变体。我读过的一些问题的答案已经注意到php脚本文件的路径不正确。我检查了所有路径并确认它们确实是正确的(包括Web托管服务器上的那些)。此外,我已经成功地使用PHP5在运行Apache2的本地服务器上运行脚本,但在将其上传到我的网站时却没有成功。
基本上,我正在尝试实现一个命中计数器脚本,我从标记为Visitors counter for simple web sites like Vinaora的Stack Overflow帖子中获取该脚本。调用php脚本的代码看起来像这样....
<footer> <!-- Execute Hit Counter Script --> <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?> </footer>
对于我这样的人,我无法弄清楚为什么它不能在网络托管服务器上运行。我尝试过调用脚本的其他组合,如
<footer> <!-- Execute Hit Counter Script --> <?php include('./php/hitcounter.php'); ?> </footer>
和
<footer> <!-- Execute Hit Counter Script --> <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?> </footer>
所有组合似乎都可以在我的本地网络服务器上运行,但不能在网站上运行!另请注意,使用其他方法(即使在Web托管服务器上)调用其他PHP脚本也没有问题,例如。
<form id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post">
任何意见/建议都将不胜感激。
答案 0 :(得分:6)
你有任何PHP错误吗?
首先,您需要激活错误报告。
在包含文件之前将其放入
ini_set('display_errors',1);
error_reporting(-1);
PHP应该告诉你发生了什么。
如果您没有看到任何内容,将文件名index.html更改为index.php ,然后重试。
答案 1 :(得分:0)
也许您在包含路径中使用了“\”
错:
<?php include 'includes\header.php'; ?>
您应该使用“/”来工作。
当前:
<?php include 'includes/header.php'; ?>
答案 2 :(得分:0)
有时它可能是套管的。检查你是否在命名中大写。在某些服务器上,Index.php不等于index.php
答案 3 :(得分:-1)
您可以尝试将“include”代码直接粘贴到调用代码中。也许这是包含的代码本身行为不端......
答案 4 :(得分:-2)
你首先做的是完全错误的事情。
当我从index.html的页脚标记中包含'脚本时,PHP脚本似乎可以在我的本地Web服务器上运行
完全错了
没有在html文件中嵌入php文件的东西(除了mod_rewrite ...)。 要解释PHP脚本,你必须拥有它(在99%的情况下)使用php后缀。通过这种方式,您可以将PHP与常规PHP区分开来并发送给php解释器。
简单地说 - 创建这个文件(a.html):
<body>
abcd<?php echo 'efgh';?>
</body>
并在浏览器中查看结果 - 使用... / a.html
你看到了什么?
ABCD
而不是
ABCDEFGH
最重要的是,你总是必须拥有PHP,而不是相反。如果不正确,请解决此问题或更新您的问题。