최근에 소스에서 XHP 1.5를 작성하여 기존 웹 서버에 설치했습니다. 웹 서버는 PHP 5.4.32, 아파치 2.2.15 mod_php (fastcgi 아님), CentOS 6.5를 사용하여 PHP를 호출합니다. 새로운 XHP 구문에 의존하지 않는 기존 PHP 코드는 모두 Imagick, curl 및 JSON과 같은 다른 확장 기능을 포함하여 훌륭하게 작동합니다.Apache를 통해 스크립트를 호출 할 때 PHP 5.4가 포함 된 XHP가 파서에 영향을 미치지 않습니다.
XHP installation 테스트를 기반으로 테스트 파일을 사용하여 :
명령 줄에서 실행하면 예상대로이 작동<?php
echo "XHP!\n";
exit;
echo <a/>;
?>
. (XHP!를 출력 한 다음 종료합니다.) 파서가 실패하지는 않지만 종속성을로드하지 않기 때문에 파서가 표시되지 않습니다.
Apache를 통해이 스크립트를 가져 오면 아파치를 통해 오류
Parse error: syntax error, unexpected '<' in /var/www/html/bloom/play.php on line 4
얻기은 phpinfo()는 XHP가 true를 돌려 아파치를 통해 ("XHP") extension_loaded,로드되었는지 보여줍니다.
XHP가 명령 줄에서 작동하지만 Apache를 통해 실행될 때 작동하지 않는 (분석하지 않아도 됨) 원인은 무엇입니까?
Apache에 mod_php 모듈을로드 했습니까? 도메인/서브 도메인에 대한'httpd.conf' 파일이나'vhost' 파일을 보여 주시겠습니까? 'LoadModule php5_module modules/libphp.so'와'AddType application/x-httpd-php .php' – tftd
죄송합니다. 기존 PHP 페이지를 지정해야합니다. imagick, json, curl과 같은 다른 확장 기능을 포함하여 XHP 유형 구문이 완벽하게 작동하지 않습니다. 우리의 vhost와 httpd.conf는 PHP 동작을 수정하지 않으며 /etc/httpd/conf.d/php.conf는 완전히 바닐라처럼 보입니다 (여러분이 제안하는 LoadModule과 AddType을 모두 포함합니다) –
p.s. 문제를 해결 한 경우 아래에 답변을 게시하고 후손을 위해 답을 표시하십시오. –