嘿,
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
比其他两种情况有更多的 HTML 标签。
但是,实用程序的输出file
不会影响系统的操作(当然,除非您正在解析输出)。特别是,并不是“您的系统 (RHEL)”将此文件视为 HTML。如果它是有效的 PHP 文件,php
则将按其应有的方式执行脚本 - 与内容无关file
。 (尝试php -l file3.php
进行语法检查。)
答案2
您的服务器没有将您的文件作为 php 脚本运行,因为您在 php 脚本中使用短标签,即
<? //php code ?>
在某些 php 安装中,短标签默认禁用。
因此,只需用 php 配置替换<? ?>
标签<?php ?>
或启用短标签即可。