MSSQL和PHP 7(32位系统)

时间:2017-02-21 17:46:12

标签: php-7

我试图在32系统(Ubuntu,32位)系统上找到PHP 7 for PHP 7。但是当我尝试遵循安装指令(https://github.com/Microsoft/msphpsql)时,它似乎只适用于64位系统?

据我所知,命令curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list返回arch=amd64。 是否有可能以32位/ i386获得它?

感谢您的帮助!

编辑:如果我无法使用sudo apt-get install php7.0-sybase,我可以使用JLabel作为备用解决方案。

1 个答案:

答案 0 :(得分:1)

这解决了我的问题:

sudo apt-get install php7.0-sybase

由于我需要UTF-8编码,我必须先改变tds的版本:

sudo vim /etc/freetds/freetds.conf

找到

[global]
    # TDS protocol version
;    tds version = VERSION_NUMBER

将当前版本号设置为至少7.0,并从该行的开头删除;。为了设置UTF-8全局添加:

client charset = UTF-8

低于您刚设置的版本。

重启php-fpm:

sudo service restart php7.0-fpm restart

当我使用Nginx时,我重新启动它也是为了确定。 现在尝试添加一个mssql连接:

$this->connection = new PDO('dblib:host='.$this->hostname.':'.
                            $port.';dbname='.$this->db_name.';charset=UTF-8'
                            ,$username, $password);

请注意charset=UTF-8部分。这可以删除,但是如果你没有在配置文件中设置客户端字符集,那么你可以设置另一个地方。 如果更改连接字符串中的字符集,它将覆盖全局值。

问候!