2013-08-05 122 views
1

我需要在我的Mac上設置一個環境變量,以便Apache運行時,PHP/PDO加載pdo_informix驅動程序,它知道Informix主目錄的位置。我真的已經厭倦了一切!在Mac上爲apache設置環境變量時遇到麻煩

/usr/sbin目錄/ envvars中我已經加入:出口INFORMIXDIR = /應用/ IBM/Informix的

/System/Library/LaunchDaemons/org.apache.httpd.plist我已插入:

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

我已經試過:launchctl SETENV INFORMIXDIR /應用/ IBM/Informix的

全部無濟於事。

我已經添加了一個PassEnv行到apache全局配置。但是,當我重新啓動該服務,我看到:

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

當我運行我的測試PHP頁面,加載驅動程序,但抱怨,因爲它不能確定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 in /etc/bashrc

原來我並沒有執行/usr/sbin目錄/的apachectl但是,相反,/選擇/本地/ Apache2的/斌/的apachectl

這個腳本進口/選擇/本地/ Apache2的/ bin/envvars而不是/usr/sbin/envvars。它也不使用launchctl ...解釋了爲什麼我的設置環境的步驟都不起作用。一旦發現,我可以立即開始工作。

對不起,你已經困擾了你。