Why PHP include is working on local server and not on website
问题简述:
当我从index.html文件的页脚标记中"包含"PHP脚本时,它似乎可以在我的本地Web服务器上工作,但当我将其上载到我的网站时,它就不工作了。注意,我已经确保了所有路径都是正确的,并且脚本文件有自己的PHP标记等。
问题详细描述:
是的,我对PHP脚本还不熟悉,是的,这个问题的变体可能以前就有人问过。我读过的几个问题的答案指出了PHP脚本文件的路径不正确。我已经检查了所有路径,并确认它们确实是正确的(包括Web宿主服务器上的路径)。此外,我已经成功地让脚本在运行apache2和php5的本地服务器上运行,但在将其上载到我的网站时没有成功。
从本质上讲,我正试图实现一个计数器脚本,这个脚本是我从一个栈溢出贴有"访问者计数器"标签的简单网站(如Vinaora)获得的。调用PHP脚本的代码如下所示…
1 2 3 4 | <footer> <!-- Execute Hit Counter Script --> <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?> </footer> |
对于像我这样的人,我不明白为什么它不能在Web托管服务器上工作。我尝试过调用脚本的其他组合,比如,
1 2 3 4 | <footer> <!-- Execute Hit Counter Script --> <?php include('./php/hitcounter.php'); ?> </footer> |
而且,
1 2 3 4 | <footer> <!-- Execute Hit Counter Script --> <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?> </footer> |
所有的组合似乎都可以在我的本地Web服务器上使用,但不能在网站上使用!另外请注意,使用其他方法(甚至在Web宿主服务器上)调用其他PHP脚本没有问题,例如。
1 | <form id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post"> |
如有任何建议,我们将不胜感激。
有PHP错误吗?
首先,您需要激活错误报告。
把这个放在包含你的文件之前
1 2 |
PHP应该告诉你发生了什么。
如果看不到任何内容,请将index.html文件名更改为index.php,然后重试。
有时可能是因为套管。检查命名是否为大写。在某些服务器上index.php不等于index.php
可能您在include路径中使用了""。
错误:
你应该用"/"来工作。
电流:
您可以尝试将"include"代码直接粘贴到调用代码中。可能是所包含的代码本身行为不正常…
你一开始做的完全不正确。
PHP script seems to work on my local web server when I 'include' it from the footer tag of my index.html
完全错了
没有像在HTML文件中嵌入php文件这样的事情(除了mod ou rewrite…)。对于要解释的PHP脚本,您必须(在99%的情况下)使用带有PHP后缀的脚本。通过这种方式,您可以让PHP将其与常规的PHP区分开来,并发送到PHP解释器。
简单地说-创建这个文件(a.html):
1 2 3 | <body> abcd<?php echo 'efgh';?> </body> |
在浏览器中查看结果-使用…/a.html
你看到什么了?
abcd
而不是
abcdefgh
最重要的是,你必须有PHP,而不是相反。如果不正确,请解决此问题或更新您的问题。