我花了一整天的时间尝试在MAMP中为我的PHP安装安装ODBC模块。在搜索了几个小时后,尝试,失败并再次尝试,最后我设法编译了我的pdo_odbc.so文件并且MAMP加载它很好(我使用this guide但是我没有使用pecl而是使用this instructions编译自己
正如您在我的phpinfo()图片中看到的,MAMP识别出我的unixODBC驱动程序。
但是当我在我的代码中使用odbc_connect()时,我收到了这个错误:
致命错误:在......
中调用未定义的函数odbc_connect()
似乎,despide MAMP识别unixODBC驱动程序,我的网络应用程序没有这样做。我需要在php.ini文件中添加一些额外的配置吗?
我不知道它是否有关于它的事情但我安装了unixODBC和Homebrew并安装在/ usr / local / Cellar / unixodbc中,但是在我的./configure命令中(在编译ODBC模块之前)我在我的/ usr / local文件夹中查找的参数--with-pdo-odbc=unixODBC
。我不知道这是否可能是导致错误的原因。
谢谢
答案 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可以节省生命。