Arquivo em php mostrando documento HTML

0

Hy,

Estou recebendo um problema quando estou fazendo um file em alguns arquivos .php no apache2 Vhost. Aqui está o problema:

# 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

Alguma idéia de por que o sistema (RHEL) não vê file3.php como script 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."\"," ;

Eu alterei <? para <?php , mas nada mudou.

php -v
PHP 5.4.16 (cli)
    
por corentin 06.09.2016 / 10:04

2 respostas

2

O utilitário file usa diferentes heurísticas para determinar o tipo de arquivo. Pode ser que file3.php tenha mais tags HTML do que as outras duas.

No entanto, a saída do utilitário file não influencia a operação do seu sistema (a menos que você esteja analisando a saída, é claro). Em particular, não é "seu sistema (RHEL)" que trata este arquivo como HTML. Se for um arquivo PHP válido, php executará o script como deveria - independente de qual file diz. (Tente php -l file3.php para uma verificação de sintaxe).

    
por 06.09.2016 / 10:20
-1

Seu servidor não está executando o seu arquivo como script php porque você está usando tags curtas no seu script php, ou seja, %código% e em algumas instalações do php as tags curtas são desativadas por padrão.

Portanto, basta substituir as tags <? //php code ?> por <? ?> ou ativar as tags curtas da configuração do php.

    
por 30.09.2016 / 18:23

Tags