여기요,
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
시스템 작동에 영향을 주지 않습니다(물론 출력을 구문 분석하는 경우는 제외). 특히 이 파일을 HTML로 처리하는 것은 "귀하의 시스템(RHEL)"이 아닙니다. 유효한 PHP 파일이라면 php
내용에 관계없이 스크립트가 정상적으로 실행됩니다 file
. ( php -l file3.php
문법 검사를 시도해 보세요.)
답변2
PHP 스크립트에서 짧은 태그를 사용하고 있기 때문에 서버가 파일을 PHP 스크립트로 실행하지 않습니다. 즉,
<? //php code ?>
일부 PHP 설치에서는 짧은 태그가 기본적으로 비활성화되어 있습니다.
따라서 <? ?>
태그를 PHP 구성으로 바꾸 <?php ?>
거나 짧은 태그를 활성화하면 됩니다.