8

PHP 代码块或片段突然出现在我的网页中,就好像它们没有被识别为 PHP 代码一样。我之前发现它可以正常工作,但我想不出我所做的任何更改或所做的任何事情都会阻止它工作!我花了很长时间让 Apache、MySQL 和 PHP 首先一起工作,现在这个。我准备把头发扯下来!!

示例 1: 示例 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

示例 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
  • 遵循此问题答案中的所有步骤
  • 使用 Apache 2.2.22、MySQL 服务器 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"

还有什么我没想到的??

谢谢!

4

1 回答 1

4

phpinfo() 页面的路径是什么?将其与您用于访问脚本的路径进行比较。我的猜测(当您说“php.exe 包含在我的 PATH 中”时)是您没有访问 Web 根目录中的文件,而是尝试通过文件系统直接访问它。您需要通过网络服务器访问它。如果你做对了,它可能看起来像:

http://localhost/myscript.php
于 2012-07-10T00:27:30.983 回答