2016-04-24 161 views
1

我想在我的Mac OSX上使用postgresql在Apache上運行。我使用自制軟件管理我的所有開發功能,因此我更換了由apache提供的默認php版本並下載了一個自制軟件版本,這部分工作非常好。問題是,當我想安裝PostgreSQL擴展..在Mac OSX上使用apache安裝postgresql

我已經這樣做了:

  • 釀造安裝PostgreSQL
  • 釀造安裝php55 --with-PostgreSQL的
  • 沖泡安裝php55-PDO -pgsql

,然後編輯/etc/apache2/httpd.conf文件通過的LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so更換LoadModule php5_module libexec/apache2/libphp5.so

然後當我執行phpinfo()命令時,我看不到在PDO部分中安裝的postgresql擴展。我只有這樣: PDO config with phpinfo()

如果有人可以幫忙;)謝謝大家!

可能的解決方法: - 首先安裝所有的包是這樣的:brew install postgresql php55 php55-pdo-pgsql - 然後brew reinstall php55 --with-postgresql

和它的作品。我這樣做之前,(也許不是相同的順序),並沒有工作,我做的不知道它爲什麼現在起作用!

解決方案

當你看phpinfo()函數的結果,你應該會看到類似加載的配置文件和*掃描該目錄額外的.ini文件*。問題是你安裝的擴展名是全局php.ini文件和.ini文件。 *掃描該目錄中的附加.ini文件*的值是擴展名的.ini文件必須位於的位置。所以只需要創建一個ext-pdo_pgsql.ini並使用extension="path to your/pdo_pgsql.so"(我的是/usr/local/opt/php55-pdo-pgsql/pdo_pgsql.so)加載擴展。

而對於安裝只需要brew install php55 php55-pdo-pgsql postgresql

回答

2
  1. 運行php -m | grep pgsql知道是否存在的pgsql

  2. 按照本answer的例子。如果您遇到與此處的編號4相對應的指令存在問題,請跳到此處。

  3. 輸入./configure --with-pdo-pgsql="path to postgres"並返回。我的地址是"/usr/local/bin"

  4. 輸入make && sudo make install並返回。

  5. 將擴展名添加到php.inisudo echo "extension=pdo_pgsql.so" >> path to php.ini。查找使用php -i | grep php.ini

  6. 這應該安裝的Postgres

注PDO驅動程序的路徑

這可能是sudo make install不起作用。這是一個名爲csrutil的OSX功能。重新啓動機器並按住cmd + R。從恢復界面從終端運行csrutil disable

重新重新啓動並執行make install。通過在恢復接口的終端上運行csrutil enable,重複相同的過程以啓用csrutil。

+0

感謝您的回答,我在第二步找不到目錄。它在/ usr/local/opt還是關閉了? –

+0

哦@ThomasCEDRINI。你可以通過使用梨實現2,並遵循這個[答案](http://stackoverflow.com/questions/61747/installing-pdo-drivers-for-postgresql-on-mac-using-zend-for-eclipse)。 – mokayode

+0

那麼..我不明白什麼事情..我剛剛完成'brew重新安裝php55 --with-postgresql'後安裝php5,php5-pdo-pgsql和postgresql和驚喜!有用 !我真的不明白爲什麼它沒有之前 –