ubuntu18.04安装php-fpm7.2套件

准备工作

首先替换镜像源

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

用上面这些内容替换掉 /etc/apt/sources.list 这个文件。

依次执行

    apt-get update
    apt-get upgrade
    apt-get install -y software-properties-common
    apt-get install -y vim wget

开始安装各组件

安装php

    add-apt-repository ppa:ondrej/nginx

按回车继续

    add-apt-repository ppa:ondrej/php

按回车继续

    apt-get install -y php7.2

途中选时区,选 6,再选70

装好了。
再安装各种php模块。

    apt-get install -y php7.2-bcmath php7.2-bz2 php7.2-dba php7.2-enchant php7.2-fpm php7.2-imap php7.2-interbase php7.2-intl php7.2-mbstring php7.2-phpdbg php7.2-soap php7.2-sybase php7.2-xsl php7.2-zip php7.2-xmlrpc php7.2-xml php7.2-tidy php7.2-sqlite3 php7.2-snmp php7.2-recode php7.2-readline php7.2-pspell php7.2-pgsql php7.2-opcache php7.2-odbc php7.2-mysql

    apt-get install -y php7.2-ldap php7.2-json php7.2-gmp php7.2-gd php7.2-dev php7.2-curl php7.2-common php7.2-cli php7.2-cgi

如何验证php安装成功。

    php7.2 -v
    php-fpm7.2 -v

看到都有信息,表示php和php-fpm都安装好了。

如果想看php和php-fpm的模块,则

    php7.2 -m
    php-fpm7.2 -m

发现都很好,将近70个,差swoole

    pecl install swoole

这里要选择选项,直接按回车是对那一项取消,如果全选,可能安装失败。因为选的越多,对其他类库要求越多。
我假设这里全部回车,不安装swoole的附加选项,则创建so文件成功。

    find / -name swoole.so

一般是

    /usr/lib/php/20170718/swoole.so

    echo "extension=swoole.so" >> /etc/php/7.2/cli/php.ini

    php7.2 -m|grep swoole

如果swoole能看到,则说明安装成功。

    vim /etc/php/7.2/fpm/pool.d/www.conf

注意,确保下面这个sock文件和nginx那个配置一样。

    listen = /run/php/php7.2-fpm.sock

启动php-fpm

    service php7.2-fpm start

安装nginx

    apt-get install nginx

这里发现会自动安装最新的nginx 1.15

    vim /etc/nginx/sites-enabled/default 

修改这个文件

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

然后启动

    service nginx start

实测效果很棒。

    vi /var/www/html/1.php

    <?php
    phpinfo();

然后,wget http://127.0.0.1/1.php

然后,cat 1.php
可以看到很好。


安装mysql

    apt-get install mysql-server mysql-client
    service mysql start

这个命令是配置msql 服务的。

    mysql_secure_installation

    cat /etc/mysql/debian.cnf

找到类似下面的语句

    user = debian-sys-maint
    password = sKuCU0ruhYVVIs99

然后写php

    vi /var/www/html/2.php
    header("Content-type: text/html; charset=utf-8");
  
    $sql='select version(),FROM_UNIXTIME(UNIX_TIMESTAMP() )';
    $db = Sys::getdb();
    $dbresult = $db->query($sql)->fetch_all(MYSQLI_ASSOC);
    var_dump($dbresult);
  
    class Sys
    {
            private $mysqli;
        public static function getredis()
        {
            static $redis = null;
            if ($redis == null) {
                $redis = new \Redis();
                $redis->connect('build_redis-db_1','6379');
  
            }
            return $redis;
        }
  
        public static function getdb()
        {
            $mysqli = new mysqli('localhost', 'debian-sys-maint', 'sKuCU0ruhYVVIs99' );
            $sql="set names utf8";
            $mysqli->query($sql);
            return $mysqli;
        }
    }

用户名和密码用上面的debian.cnf文件里的。

    wget http://127.0.0.1/2.php

效果如下

    array(1) {
    [0]=>
    array(2) {
    ["version()"=>
    string(23) "5.7.23-0ubuntu0.18.04.1"
    ["FROM_UNIXTIME(UNIX_TIMESTAMP() )"]=>
    string(19) "2018-08-31 17:51:54"
    }
   }
最后修改:2024 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏