2013-08-05 2 views
1

Mac에서 환경 변수를 설정해야합니다. 그러면 Apache가 실행되고 PHP/PDO가 pdo_informix 드라이버를로드 할 때 Informix 홈 디렉토리의 위치를 ​​알 수 있습니다. 그리고 나는 모든 것을 정말 지쳤습니다! 수출 INFORMIXDIR =/응용 프로그램/IBM/Informix는Mac에서 아파치 환경 변수 설정에 문제가 생겼습니다

에서 /System/Library/LaunchDaemons/org.apache.httpd.plist I : 는/usr/sbin에/envvars 내가 추가 한에서

삽입 한 :

<key>EnvironmentVariables</key> 
<dict> 
     <key>INFORMIXDIR</key> 
     <string>/Applications/IBM/informix</string> 
</dict> 

나는 시도했다 : launchctl에서는 setenv INFORMIXDIR/응용 프로그램/IBM/Informix는

전혀 사용할 수 없습니다.

나는 PassEnv 행을 apache 글로벌 구성에 추가했습니다. 나는 서비스를 다시 시작할 때 그러나 나는 참조 : 내 테스트 .PHP 페이지에서 드라이버로드를 실행하지만, 불평하면

root 589 ->apachectl restart 
[Mon Aug 05 13:35:16 2013] [warn] PassEnv variable INFORMIXDIR was undefined 

이는 DB 로케일을 확인할 수있다. 오류 메시지 :

[Mon Aug 05 12:56:23 2013] [error] [client ::1] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE=HY000, SQLDriverConnect: -23101 [Informix][Informix ODBC Driver][Informix]Unspecified System Error = -23101.' ... 

내가 무엇을 놓쳤는 지 말할 수있는 사람이 있습니까?

답변

2

아무도이 문제를 조사하는 데 시간을 낭비하지 않았 으면합니다. apachectl의 별명을 /etc/bashrc에 설정 한 전임자가 알아 냈습니다!

내가 실행되지 않았습니다 밝혀 는/usr/sbin에/apachectl을하지만, 대신에,/지방/아파치/빈/apachectl을 /옵션

이 스크립트 수입 /옵션/지역/아파치/bin/envvars이 아니라 /usr/sbin/envvars입니다. 또한 launchctl을 사용하지 않습니다 ... 왜 환경을 설정하는 내 단계 중 아무 것도 작동하지 않습니다. 일단 발견되면 즉시 작동하게됩니다.

죄송합니다.

관련 문제