ここで、
file
私のapache2 Vhostでいくつかの.phpファイルを処理するときに問題があります。問題はこれである:
# file *.php
file1.php: PHP script, UTF-8 Unicode text, with very long lines
file2.php: PHP script, UTF-8 Unicode text, with very long lines
file3.php: HTML document, UTF-8 Unicode text, with very long lines
システム(RHEL)がfile3.phpをPHPスクリプトとして認識しない理由についてのアイデアはありますか?
# head file3.php
<?
include("./some/files.php");
$var="";
$var = "select var, var from vars order by 2";
$var = var($var,$var);
while ($var = @var($var))
{ var($var) ;
$var .= "\"".$var."\"," ;
<?
私は変わりましたが、<?php
何も変わりませんでした。
php -v
PHP 5.4.16 (cli)
答え1
このfile
ユーティリティは、さまざまな経験的方法を使用してファイルの種類を決定します。この場合、file3.php
他の2つの場合よりも多くのHTMLタグがある可能性があります。
ただし、ユーティリティの出力はfile
システムの動作には影響しません(もちろん、出力を解析する場合を除く)。特に、このファイルをHTMLで処理するのは「あなたのシステム(RHEL)」ではありません。有効なPHPファイルの場合、php
内容に関係なくスクリプトは正常に実行されますfile
。 (php -l file3.php
文法検査を試してください。)
答え2
PHPスクリプトは短いタグを使用しているため、サーバーはファイルをPHPスクリプトとして実行しません。つまり、
<? //php code ?>
一部のPHPインストールでは、短いタグはデフォルトで無効になっています。
したがって、<? ?>
タグをPHP設定に置き換える<?php ?>
か、短いタグを有効にするだけです。