簡體   English   中英

無法在 ubuntu 14.04 上為 php5.6 安裝 sqlsrv 庫

[英]Cannot install sqlsrv library for php5.6 on ubuntu 14.04

如何安裝此庫以使用我的 php5.6 連接到 mssql 2012?

更新:我發現 3.0.1 版是正確的版本(如果我錯了,請糾正我)。

但是現在,我收到此錯誤:

pecl install sqlsrv-3.0.1    
downloading sqlsrv-3.0.1.tgz ...
Starting to download sqlsrv-3.0.1.tgz (134,966 bytes)
.............................done: 134,966 bytes
17 source files, building
running: phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

ERROR: `phpize' failed

更新:當我嘗試手動安裝文件時,頂級目錄不包含 config.m4。 它只包含 config.w32... 我該怎么辦?

在 CentOS 7 上遇到同樣的問題。來自 pecl.php.net 的存檔中不存在文件 config.m4(版本 3.0.1,在 4.0.4 文件中存在,但至少需要 php7.0)。 我認為這個模塊不適用於 linux php 5 版本。 最好編譯 mssql 模塊。

這就是為什么我從https://museum.php.net下載完整的 php 存檔(在我的例子中是 - php-5.6.40.tar.xz)並從中編譯 mssql

cd /tmp/
wget https://museum.php.net/php5/php-5.6.40.tar.gz
tar xvf php-5.6.40.tar.gz
cd php-5.6.40/ext/mssql/
/opt/php56/bin/phpize (in your case path to php5.6 phpize can be different)
yum install autoconf (on ubuntu package can have different name)
yum install freetds freetds-devel freetds-libs freetds (required to compile)
ln -s /usr/lib64/libsybdb.so /usr/lib/libsybdb.so (compiling search for libsybdb.so in /usr/lib/libsybdb.so but file was in  /usr/lib64/libsybdb.so that why i create symlink)
./configure --with-php-config=/opt/php56/bin/php-config (in your case path to php5.6 php-config can be different)
make

我用我的 php5.6 配置得到了 mssql 模塊

/tmp/php-5.6.40/ext/mssql/modules/mssql.so

並且可以在 php.ini 中輕松地將它連接到我的 php56

您可以像這樣安裝特定版本: pecl install sqlsrv-4.3.0

您必須在此處瀏覽更改日志以找到您需要的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM