连接到运行MAMP PRO的OS X上的MSSQL

时间:2018-01-26 18:56:25

标签: php sql-server mamp osx-elcapitan

编辑:我没有找到解决方案,而是使用centOS创建虚拟机,其中所需的扩展将加载。如果这可以在将来帮助某人,那太棒了。

版本:PHP5.6,MSSQL 2008,OS x El Capitan

我试图查询MSSQL数据库以将结果与MySQL数据库进行比较。我可以毫无问题地查询MySQL数据库,我无法查询MSSQL数据库。我已经安装了freetds,odbc,autoconf,后面有多个教程,包括:

我也试过使用Propelorm但没有成功。

检查:   - myssql.so位于extensions文件夹中,并在我的php.ini中调用。   - 我尝试在我的500错误上运行try / catch,没有用。   - apache和php日志不会显示与我正在加载的页面或服务有关的任何内容。   - php.info显示正确的扩展文件和正确的目录来调用扩展名,页面中的搜索没有用" mssql"或" pdo_dblib"。

我的下一步行动是创建一个运行Ubuntu的虚拟机来测试脚本,但我希望能够在我的主机上进行开发。

查看php5.6.31的php.ini(MAMP PRO正在使用的版本):

/Applications/MAMP/bin/php/php5.6.31/conf/php.ini

 421 ; Directory in which the loadable extensions (modules) reside.
 422 extension_dir = "/Applications/MAMP/bin/php/php5.6.31/lib/php/extensions/no-debug-non-zts-20131226/"

 531 ; Extensions
 532 
 533 ;extension=apcu.so
 534 extension=mssql.so
 535 extension=pdo_dblib.so
 536 extension=imap.so
 537 extension=mcrypt.so
 538 extension=gettext.so
 539 extension=pgsql.so
 540 extension=pdo_pgsql.so
 541 
 542 ;extension=imagick.so
 543 ;extension=tidy.so
 544 extension=oauth.so

看一下extensions文件夹,我们可以看到mssql.so文件:

/Applications/MAMP/bin/php/php5.6.31/lib/php/extensions/no-debug-non-zts-20131226/

apcu.so                         mcrypt.so                       tidy.so
gettext.so                      memcached.so                    uploadprogress.so
igbinary.so                     mssql.so                        xcache.so
imagick.so                      oauth.so                        xdebug.so
imap.so                         opcache.so                      yaml.so
ioncube_loader_dar_5.6.so       pdo_pgsql.so                    yaz.so
ioncube_loader_dar_5.6_ts.so    pgsql.so

我不确定还包括哪些内容,请在评论中告诉我,我会更新问题。

 23   $mssql_link = mssql_connect($custom_mssql_host, $custom_mssql_user, $custom_mssql_pass, $custom_mssql_db);
 24   if (!$mssql_link) {
 25     die('Could not connect to MSSQL database: ' . mssql_error());
 26     exit;
 27   }
 28   if(!mssql_select_db($custom_mssql_db)) {
 29     die('Could not select MSSQL database: ' . mssql_error());
 30     exit;
 31   }
 46   $query2 = mssql_query("SELECT * FROM table2");
 47   $result2 = mssql_query($query1);
 48   if(!$query1) {
 49     die('Could not query:' .mssql_error());
 50   }

0 个答案:

没有答案