MAMP中的ODBC模块:调用未定义的函数odbc_connect()

时间:2014-06-17 22:45:02

标签: php macos odbc mamp

我花了一整天的时间尝试在MAMP中为我的PHP安装安装ODBC模块。在搜索了几个小时后,尝试,失败并再次尝试,最后我设法编译了我的pdo_odbc.so文件并且MAMP加载它很好(我使用this guide但是我没有使用pecl而是使用this instructions编译自己

正如您在我的phpinfo()图片中看到的,MAMP识别出我的unixODBC驱动程序。

enter image description here

但是当我在我的代码中使用odbc_connect()时,我收到了这个错误:

  

致命错误:在......

中调用未定义的函数odbc_connect()

似乎,despide MAMP识别unixODBC驱动程序,我的网络应用程序没有这样做。我需要在php.ini文件中添加一些额外的配置吗?

我不知道它是否有关于它的事情但我安装了unixODBC和Homebrew并安装在/ usr / local / Cellar / unixodbc中,但是在我的./configure命令中(在编译ODBC模块之前)我在我的/ usr / local文件夹中查找的参数--with-pdo-odbc=unixODBC。我不知道这是否可能是导致错误的原因。

谢谢

2 个答案:

答案 0 :(得分: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 

答案 1 :(得分:0)

我避免使用MAMP并坚持使用默认的Apache等,并使用包含ODBC的PHP安装,它运行良好。

请注意,由于10.10已经发布,最近的版本可能不包含ODBC,但是这个版本的PHP可以节省生命。

http://php-osx.liip.ch