PHP代码的块或部分突然出现在我的网页中,就好像它们没有被识别为PHP代码一样.我之前找到它工作,我想不出任何我改变或完成的任何会阻止它工作的东西!我花了很长时间才开始让Apache,MysqL和PHP一起工作,现在这个.我准备撕掉我的头发!!
例1:
示例1代码:
(请注意,一个PHP代码块显示在网页中,而另一个则没有!)
<fieldset>
<legend>Enter SELECT statement:</legend>
<textarea name="select" style="width: 100%; margin-bottom: 10px;">
<?PHP
if (isset($_POST['select'])
echo $_POST['select'];
?>
</textarea>
<input type="submit" value="Search" />
<!-- display any sql errors here -->
<?PHP
echo "Hello World!";
if (isset($_POST['select']) {
if (!$results = MysqL_query($_POST['select']))
die("Error: " . MysqL_error());
}
?>
</fieldset>
例2:
示例2代码:
<fieldset>
<legend>Tags:</legend>
<table class="tagstable">
<tr class="tagsrow">
</tr>
<?PHP
$query = "SHOW COLUMNS FROM recipes LIKE 'Tags'";
if (!($ret = MysqL_query($query)))
die("Error - Could not show columns: " . MysqL_error());
if(MysqL_num_rows($ret)>0){
$row=MysqL_fetch_row($ret);
$options=explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$row[1]));
}
foreach ($options as $tag) {
echo '<script type="text/javascript">addTag("' . $tag . '",false)</script>';
}
?>
</table>
<br>
<input type="text" id="addtag"><input type="submit" value="Add">
</fieldset>
故障排除:
>我的PHPinfo();页面按预期工作
>包含PHP.exe的文件夹包含在我的PATH中
>尝试重启Apache
>按照this question的答案中的所有步骤
>使用Apache 2.2.22,MysqL Server 5.5.24,PHP 5.4.3,Windows 7
Apache httpd.conf包含:
LoadModule PHP5_module "c:/websites/PHP/PHP5apache2_2.dll" <IfModule dir_module> DirectoryIndex index.html index.htm index.PHP </IfModule> AddType application/x-httpd-PHP .PHP PHPIniDir "C:/websites/PHP"
还有什么我没有想到的东西?
谢谢!
什么是PHPinfo()页面的路径?将其与您用于访问脚本的路径进行比较.我的猜测(当你说“PHP.exe包含在我的PATH中”时)是你没有访问web根目录中的文件,而是试图通过文件系统直接访问它.您需要通过Web服务器访问它.如果你这样做,它可能看起来像:
http://localhost/myscript.PHP