8

PHP コードのブロックまたは断片が、PHP コードとして認識されていないかのように突然 Web ページに表示されます。以前に見つけたばかりで動作していましたが、動作を停止するような変更や実行を考えることはできません! そもそもApache、MySQL、およびPHPを連携させるのに非常に長い時間を費やしましたが、今ではこれが実現しています。髪を引き裂く準備ができました!!

例 1: 例 1 例 1 のコード: (一方の php コード ブロックが Web ページに表示され、もう一方は表示されないことに注意してください!)

<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 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"

私が考えていないものが残っていますか??

ありがとうございました!

4

1 に答える 1

4

phpinfo() ページへのパスは何ですか? それを、スクリプトへのアクセスに使用するパスと比較してください。私の推測では (「php.exe が私の PATH に含まれている」と言うとき)、Web ルートのファイルにアクセスしているのではなく、ファイル システムを介して直接アクセスしようとしているということです。Web サーバー経由でアクセスする必要があります。これを正しく行うと、おそらく次のようになります。

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