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