2017-07-27 143 views
0

OS:Ubuntu 16.04 LTS
我用下面的命令:
$ phpversion=7.1 $ apt-get update && apt-get install -y python-software-properties software-properties-common $ add-apt-repository -y ppa:ondrej/php $ apt-get update && apt-get -y install php${phpversion} php${phpversion}-mysql php${phpversion}-gd libapache2-mod-auth-tkt
在此之后,我安装SMF BBS和phorum BBS,这两者都使用PHP和MySQL。当我运行他们两人时,他们都告诉我,PHP中没有MySQL支持。
我不知道如何在PHP中安装完整的mysql支持,我根本不熟悉PHP。非常感谢。实际上,我使用相同的bbs代码,相同的OS,在Docker容器中安装相同的PHP版本(7.1),并且一切正常。但是,我在真实环境中运行所有这些,它会发生一些错误。我很困惑。我的Dockerfile是:如何安装PHP的mysql模块?

FROM ubuntu:16.04 
ENV LANG=C.UTF-8 
RUN apt-get update && apt-get install -y \  
    python-software-properties \ 
    software-properties-common 
RUN add-apt-repository -y ppa:ondrej/php 
RUN apt-get update && apt-get -y install \ 
    apache2 \ 
    php7.1 \ 
    php7.1-mysql \ 
    php7.1-gd \ 
    && rm -rf /var/lib/apt/lists/* 
ENV APACHE_RUN_USER="www-data" APACHE_RUN_GROUP="www-data" APACHE_LOG_DIR="/var/log/apache2" 
RUN rm rf /var/www/html/* 
ADD smf/ /var/www/html/ 
RUN cd /var/www/html/ && chmod -R 777 * 
EXPOSE 80 

CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] 
+2

mysql已从PHP 7.x中删除(较旧/过期的库)新用法是mysqli(注意尾随'i')或PDO 。你可以在PHP的网站上查找这两个。知道mysqli与旧的mysql非常相似,但是有一些差异。 –

+0

这是很危险的:''运行cd/var/www/html/&& chmod -R 777 *' – Difster

回答

2

您不能在PHP 7.x中拥有旧的mysql您必须使用mysqli或PDO。有关PHP 7.x中所有已弃用函数的完整列表,go here

+0

事实上,我使用相同的bbs代码,相同的操作系统,在Docker容器中安装相同的PHP版本(7.1)一切正常。但是,我在真实环境中运行所有这些,它会发生一些错误。我很困惑。 –