【发布时间】:2017-07-18 12:20:58
【问题描述】:
我正在努力使用 linux 为旧的 php 应用程序安装 serwer。我已经安装了 ubuntu 14.04 + lamp 1.2.4,除了旧的 mssql 函数之外,我已经完成了一切工作。
显然我取消了注释,然后重新启动了 apache:
extension=php_mssql.dll
到目前为止我尝试过:
apt-get install php5-sybase php-pear
pear install --nodeps MDB2_Driver_mssql
来自https://www.turnkeylinux.org/forum/support/20090708/enabling-ms-sql-support-lamp-stack
在 phpinfo 中我根本没有 mssql 部分。
这里是关于我如何安装 linux 的更多信息:php not working on ubuntu desktop 16.04.02
【问题讨论】:
-
那个链接真的很旧...一个简单的
apt-get install php5-mssql应该可以工作...但是错误消息是什么?可能缺少其他内容或语法已更改? -
php 页面上的错误消息是
Fatal error:call to undefined function mssql_connect()。我尝试了您建议的命令,但我得到了selecting php5-sybase instead php5-mssql.... php5-sybase is already newest version... 0 upgraded, 0 newly instaled and 694 not upgraded- 看起来 mssql 已安装,但无论如何都缺少某些东西以使其与 php 一起使用。 -
另一件事:从我看到的内容来看,sybase(或 pear 命令)创建了新目录
/etc/php5/mods-avaiable/,在其中我看到文件mssql.ini和我看到extension=mssql.so(但我不知道在哪里该文件是否存在)。在/opt/lamp/apache2/modules我看到 *.so 文件但没有看到 mssql.so -
在可能的情况下,您应该真正考虑利用 Linux 容器来运行这样的旧环境。从长远来看,它可能会为您省去很多麻烦。
-
是的,在 ubuntu/linux 中,扩展名是 *.so,而不是 *.dll。 AFAIK ubuntu 14.04 应该有一个助手来启用 mods:尝试
phpenmod mssql遵循 php 包的 ini 结构或直接在 php.ini 文件的末尾写下extension=mssql.so行
标签: sql-server linux apache ubuntu lamp