应该包含在PHP文件的DOCTYPE之前吗?
我有一个包括导致配置文件,我认为是防止网站加载。如果删除这包括页面加载(与错误的功能缺失),但一旦我把它放回它再次打破。
请注意。在DOCTYPE之前,我有一些其他的网站,它们都工作得很好。如果它们导致的配置文件完全相同,这告诉我它不是配置文件中的代码。
所以最上面一行现在看起来是这样的:
<? include('config.php'); ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
配置文件看起来像这样:
<?
// WEBSITE SETUP
$config_website_code = "FR"; // .net IS Q, EVERYTHING ELSE IS GEO CODE
$config_db_error = 1; // IS THE DATABASE WORKING? 0 IS NO
$config_website_url = "http://www.lektronix.fr";
$config_website_short_url = "lektronix.fr";
// GOOGLE ANALYTICS
$config_analytics_code = "<script type="text/javascript">n";
$config_analytics_code .= "var _gaq = _gaq || [];n";
$config_analytics_code .= "_gaq.push(['_setAccount', 'UA-4257220-56']);n";
$config_analytics_code .= "_gaq.push(['_trackPageview']);n";
$config_analytics_code .= "(function() {n";
$config_analytics_code .= "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;n";
$config_analytics_code .= "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';n";
$config_analytics_code .= "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);n";
$config_analytics_code .= "})();n";
$config_analytics_code .= "</script>n";
// ASSIGN GEO BASED ON THEIR IP
include('assign_geo.php');
// ASSIGN THEIR LANGUAGE
include('assign_language.php');
// DEFINE THE CONTENT THEY SEE
include('assign_content.php');
// COMMON PAGE FUNCTIONS
include('functions.php');
// HEADER AND DESCRIPTION TAGS
include('assign_meta_data.php');
?>
这与其他工作网站相同,配置文件中包含的文件也相同。
我删除了头文件和索引文件中的所有内容,只使用echo "hello world";
这个加载是正确的。
然后我开始把代码放回去,但是我放回去的第一行是doctype之前的include,这又破坏了网站。
是的,您可以将PHP代码放在文件的DOCTYPE之前,这不会引起任何问题。看看你的代码,从你告诉我的问题应该是你的代码在一个文件被从配置文件调用。我猜是Functions文件。去看看吧。稍作调试将大有帮助。