我试图在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
作为备用解决方案。
答案 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
部分。这可以删除,但是如果你没有在配置文件中设置客户端字符集,那么你可以设置另一个地方。
如果更改连接字符串中的字符集,它将覆盖全局值。
问候!