2014-06-17 33 views
1

我花了一整天的時間嘗試在MAMP中安裝用於PHP安裝的ODBC模塊。搜索小時,嘗試,失敗,再嘗試之後,我終於成功地編譯我pdo_odbc.so文件和甲基苯丙胺裝入它很好(我用this guide,但使用的PECL我自己編帶this instructionsMAMP中的ODBC模塊:調用未定義的函數odbc_connect()

正如你所看到的在我的phpinfo()的這個圖像中,MAMP識別我的unixODBC驅動程序。

enter image description here

但是,當我在我的代碼使用odbc_connect(),我得到這個錯誤:

Fatal error: Call to undefined function odbc_connect() in ...

看來,despide甲基苯丙胺承認unixODBC驅動程序,我的web應用程序不會做。我需要在我的php.ini文件中添加一些額外的配置嗎?

我不知道它是否有什麼關係,但我安裝了unixODBC和Homebrew,並安裝在/ usr/local/Cellar/unixodbc中,但在我的./configure命令中(在編譯ODBC模塊之前)我使用參數--with-pdo-odbc=unixODBC誰在我的/ usr /本地文件夾。我不知道這是否可能是錯誤的原因。

感謝

回答

0

的 「PDO_ODBC」 模塊只與物體的工作:

$dbh= new PDO('odbc:SOURCENAME', 'username', 'password'); 

我編譯PHP與 「共享」 選項來創建odbc.so模塊(Adding ODBC to MAMP

./configure --with-unixODBC=shared 
make 

cp modules/odbc.so /Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/ 

echo "extension=odbc.so" >> /Applications/MAMP/bin/php/php5.5.10/conf/php.ini 
+0

我跟着這些步驟,但我得到這個PHP錯誤:'dlopen的(/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212 /odbc.so,9):找不到符號:__cg_jpeg_resync_to_restart 引用自:/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO 預計位於:/Applications/MAMP/Library/lib/libjpeg.8。 dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO in Unknown 0 on line 0' – WedgeSparda

+0

我在MAMP 3.0.5和2.2中試過odbc.so。 您使用的是什麼版本的OS X?我使用10.9.3。 – Jesux

+0

同一版本在這裏,10.9.3 – WedgeSparda

0

我已經避免使用MAMP並使用默認的Apache等,並使用這個包含ODBC的PHP安裝,它工作的很好。

請注意,自10.10版本出來以後,最近的版本可能不包含ODBC,但是這種PHP版本已經成爲了救命稻草。

http://php-osx.liip.ch

+0

我試過了,但最新版本(5.6.14)不再包含ODBC了。 – JoeGalind