아래 단계를 수행한 결과 이상한 문제가 발생했습니다.
phalcon-devtools-2.0.13 도구를 사용하여 test
라는 프로젝트를 만들었습니다.
그럼 성공적으로 실행됩니다!
그 후 다음 내용을 변경했습니다.
< /p>
문제 없습니다:
< /p>
하지만:
< /p>
경로를 추가했는데 문제가 발생했습니다.
< /p>
실례합니다. 무슨 일인가요? 저는 현재 php5.6
phalcon2.0
nginx 구성입니다:
<코드> 서버 { 들어라 80; 서버 이름 테스트; 루트 /사용자/ryugou/test/public; 색인 index.php index.html index.htm; 문자셋 utf-8; 위치/{ try_files $uri $uri/ /index.php; } 위치 ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; fastcgi_params를 포함합니다; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 위치 ~ /\.ht { 모두 거부하다; } }
PHPz2017-05-16 13:15:09
환경 문제는 php 버전이나 Phalcon 버전의 버그가 아니라 nginx 구성 문제입니다!
함정!
Phalcon의 기본 URI 정보는 $_GET['_url']에서 가져오며, $_SERER['REQUEST_URI']로 설정할 수도 있습니다.
이 두 가지 방법을 사용하여 획득하려면 서로 다른 nginx 구성이 필요합니다! ! (자세한 내용은 Phalcon 문서 Phalcon nginx 구성을 참조하세요.)
이것을 구성해야 합니다!
$_GET['_url'] 사용(기본값):
위치 / {
으아아아}
$_SERVER['REQUEST_URI'], nginx 구성 사용:
위치 / {
으아아아}
$_SERVER['REQUEST_URI']를 정상적으로 사용하려면 nginx가 구성되었는지 여부에 관계없이 PHP 코드에서 수정해야 합니다.
PhalconMvcRouter 사용;
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);