Ami*_*rma 5 sql-server mamp freetds php-7
我试图通过MAMP将mssql服务器连接到PHP 7.0.8.我尝试过使用freetds.在一些博客上,人们说要使用pdo_dblib.so
扩展,但它不起作用.
请指导我完成连接过程.
小智 9
对于那些仍然有这个问题的人:
/Applications/MAMP/bin/php/php7.2.1/bin/pecl install sqlsrv pdo_sqlsrv
Run Code Online (Sandbox Code Playgroud)
编辑 php.ini:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
Run Code Online (Sandbox Code Playgroud)
如有必要,brew install autoconf
如果您还没有它,请使用它。
虽然Vague Space和Pedro Santiago发布的答案有所帮助,但我仍然认为答案有点缺乏和不完整......或者要求你做的太多。老实说,当他们声明您需要安装他们的 SQL Server Docker 映像时,Microsoft 的官方说明是矫枉过正的?来吧... 大多数人只需要安装驱动程序来建立连接。
所以这是我根据我在 MAMP(5.2 版)中安装pdo_sqlsrv.so
和sqlsrv.so
模块的经验得出的答案,但应该适用于大多数支持某种 PHP 7 风格的 MAMP 版本。
.bash_profile
使 MAMP 的二进制文件和库成为您$PATH
设置的一部分。首先,调整你.bash_profile
的 MAMP 东西在那里;可以更轻松地启动和使用 MAMP 特定的二进制文件,并确保在执行诸如安装新模块之类的操作时检查 MAMP 库。
我喜欢这样做的方式是这样的;像这样设置$MAMP_BIN
和$MAMP_PHP
变量,然后重建$PATH
变量:
# MAMP stuff.
export MAMP_BIN="/Applications/MAMP/Library/bin";
export MAMP_PHP="/Applications/MAMP/bin/php/php7.2.10/bin";
# Final $PATH setting.
export PATH="/usr/local/bin:/usr/local/sbin:$MAMP_BIN:$MAMP_PHP:$PATH";
Run Code Online (Sandbox Code Playgroud)
保存它并退出终端会话并重新登录,或者只是.bash_profile
像这样的资源:
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
完成后,让我们安装核心 Microsoft ODBC 二进制文件。
这样做是为了在 macOS 上安装核心的 ODBC 东西;确保安装了Homebrew:
brew tap microsoft/SQLSRV-release https://github.com/Microsoft/homebrew-SQLSRV-release
brew update
brew install --no-sandbox msodbcsql17 SQLSRV-tools
Run Code Online (Sandbox Code Playgroud)
完成后,继续安装 Unix ODBC 的东西,如下所示:
brew install unixodbc
Run Code Online (Sandbox Code Playgroud)
现在通过 PECL 安装实际的 PHP 模块:
pecl install sqlsrv pdo_sqlsrv
Run Code Online (Sandbox Code Playgroud)
安装模块后,将它们添加到php.ini
MAMP 中的文件中,以便 PHP 可以识别它。对于 MAMP 5.x 上的 PHP 7.2.10,它应该位于此处:
/Applications/MAMP/bin/php/php7.2.10/conf/php.ini
Run Code Online (Sandbox Code Playgroud)
只需将这些配置行添加到文件的底部:
; Enable 'Microsoft Drivers for PHP for SQL Server' extension module
extension = sqlsrv.so
extension = pdo_sqlsrv.so
; Configuration
;sqlsrv.WarningsReturnAsErrors = 1
;sqlsrv.LogSeverity = 0
;sqlsrv.LogSubsystems = 0
;sqlsrv.ClientBufferMaxKBSize = 10240
;pdo_sqlsrv.log_severity = 0
;pdo_sqlsrv.client_buffer_max_kb_size = 10240
Run Code Online (Sandbox Code Playgroud)
请注意,大多数教程——甚至是安装模块时的 PECL——只是简单地提到了添加extension = sqlsrv.so
和extension = pdo_sqlsrv.so
到php.ini
配置,但这些配置选项是 RedHat 在通过Remi 存储库安装 PHP SQLSRV 时具有的选项。是的,他们中的大多数都被注释掉了,但我仍然喜欢把它放在那里以供参考。
小智 4
pdo_sqlsrv.so
到sqlsrv.so
MAMP 的 PHP 扩展目录中。我的位于/Applications/MAMP/bin/php/php7x.x/lib/php/extensions/no-debug-foo-bar
编辑 php.ini 文件以包含新扩展:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
Run Code Online (Sandbox Code Playgroud)重新启动您的 MAMP 服务器。
归档时间: |
|
查看次数: |
5432 次 |
最近记录: |