【问题标题】:Ubuntu 14.04 + Lamp 1.2.4 mssql_connect is not workingUbuntu 14.04 + Lamp 1.2.4 mssql_connect 不工作
【发布时间】: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


【解决方案1】:

这不是这个问题的真正答案,但我的目标是拥有一个带有 php 5 和工作 mssql* 函数的 linux。这就是我最终做到的方式。一旦您知道在 windows 下 mssql 在 php 5.3.x 中出现,但在 linux 中 直到 php 7 才出现,这很容易。 (我所有尝试用我需要的东西安装一个选择的 php 版本的尝试都失败了,据我所知,没有人回答,所以 linux 比我预期的更难使用)。

我认为这是一个非常适合初学者的教程,希望对某人有所帮助:

Ubuntu 必须是 14.04 且不高于(他们切换到 php 7)。

一些基本的东西:

sudo apt-get install mc /*midnight commander is REALLY helpfull*/
sudo apt-get install konqueror /*or conqueror if you have deskptop*/
sudo nano file /*this is how you easily edit file in xterminal*/
sudo nano gedit file /*and in desptop*/

阿帕奇:

sudo apt-get install apache2    /*install*/
sudo nano /etc/apache2/apache2.conf
add this line: ServerName 192.168.0.xxxx    /*your ip or server name*/
sudo apache2ctl configtest /*if sth is wrong*/
sudo service apache2 restart

PHP

sudo apt-get install php5 /*php itself*/
sudo apt-get install libapache2-mod-php5 /*mod that connects php with apache I belive*/
sudo apt-get install php5-sybase php5-odbc freetds-common /*all libraries are required*/
sudo service apache2 restart

php.ini 的常见问题(文件位置在 phpinfo() 中)

error_reporting = E_ALL & ~E_NOTICE /*will disable notices*/
display_errors = On
short_open_tag=On /* <? will work instad of <?php only */

如何安装模块?

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart

这使它对我有用。

【讨论】:

  • 我为 linux 初学者创建了一个很好的教程来使用旧的 php + mssql,但有人给了 -1 :P .... 应该需要给出理由。
猜你喜欢
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 2016-02-06
  • 2014-10-05
  • 1970-01-01
  • 2014-07-10
相关资源
最近更新 更多