2012-10-19 2 views
2

몇 가지 이유로, 현재 작업중인 프로젝트의 로컬 설치는 URL에 PHP 세션 ID를 추가하는 것입니다. 이것은 다른 서버에서는 발생하지 않습니다. 이것을 바꾸기 위해 마지막으로 변경할 수있는 설정이 있습니까? 나는 맥 OS에 PHP 5.4을 사용하고 있습니다 10.8.2localhost의 URL에 PHP 세션 ID가 있습니다.

샘플 URL : http://localhost/project/subfolder/index.php/admin/game?PHPSESSID=mhnpc0g2c8rijqpkf8lhpfshh7

가되어야한다 http://localhost/project/subfolder/index.php/admin/game

업데이트 : 내 php.ini 파일을 확인했고 나는 다음과 같은 한 설정이 올바르지 만 URL에 여전히 세션 ID가 표시됩니다.

session.use_cookies = 1 
session.use_only_cookies = 1 
session.use_trans_sid = 0 

내가

2 업데이트 :-) php.ini 파일 변경할 때마다 아파치를 다시 시작하고있어 좋은 측정을위한 아, 그리고 : 다른 내 맥에 INI 파일이 숨어있을 수 있을까? PEAR가 이걸로 어지럽 혔나요? 모두에게 감사드립니다!

+0

당신이 MAMP를 사용하고 있습니까)가 작동하지 않을? –

+0

@sogeek no ...해야합니까? –

+0

아니요, 꼭 그런 것은 아닙니다. 좋아, 두 php.ini 파일이있을 수 있습니다. 하나는 아파치/bin에 다른 하나는 php 폴더에 있습니다. 변경 효과를 보려면이 두 설정을 변경해야 할 수도 있습니다. –

답변

2
session.use_cookies = 1 session.use_only_cookies = 0 session.use_trans_sid = 1 
+0

오른쪽 구성 테스트 – lilei

3

php.ini 파일, 특히 세션 관련 항목을 확인하십시오. 쿠키가 아닌 URL을 사용하도록 설정해야합니다. 다음과 같이 당신이 당신의 php.ini에 설정해야

+0

또한보십시오 http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies – mtmacdonald

2

:

session.use_cookies = 1 
session.use_only_cookies = 1 
session.use_trans_sid = 0 

편집 :

.htaccess 파일이나 아파치의 설명도, ini_set 기능을 사용하여 PHP는 그 자체로 오버라이드 (override) 할 수있다 가상 호스트는 php_flag을 사용합니다.

문제를 찾기에 좋은 도구는 grep 유틸리티입니다. 그런를 사용해보십시오 :

egrep -ir 'php_falg|ini_set' /etc/httpd/ 

아파치의 구성도 실패한에서 검색하고 한 번 더 같은 명령하지만 .htaccess 파일과 virual 호스트로 구성되어 다른 서버에 있다면 (프로젝트를 가리키는 AllowOverride None.htaccess 파일

egrep -ir 'php_falg|ini_set' ~/Sites/ # or in whathever path your site is. 
+0

감사합니다! 그것은 아니었다. PHP.ini를 재정의 할 수 있습니까? –

관련 문제