首頁  >  文章  >  後端開發  >  詳解vagrant搭建的php7環境

詳解vagrant搭建的php7環境

coldplay.xixi
coldplay.xixi轉載
2021-04-27 10:55:391354瀏覽

詳解vagrant搭建的php7環境

前面已經把vagrant的基礎知識已經基本過了一遍 了,相信只要按著教程來,你已經搭建好了自己的基礎環境。接下來說一說如何搭建php7的開發環境。

申明一下,這裡使用的box,就是前面示範的centos7
位址奉上:
https://github.com/tommy-muehle/puppet-vagrant-boxes/ releases/download/1.1.0/centos-7.0-x86_64.box

安裝nginx

首先需要跟新一些ngin的相關來源。

$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm// 执行安装过程
$ yum install nginx

推薦(免費):PHP7

#看到以下介面時,請稍等,如果需要輸入的地方,請直接按y 然後回車。
詳解vagrant搭建的php7環境

啟動nginx並設定為開機啟動

$ systemctl start nginx 
$ systemctl enable nginx

安裝epel與remi來源

##安裝epel,epel是Fedora小組維護的軟體倉庫項目,為RHEL/CentOS提供他們預設不提供的軟體包。安裝時一定要注意一下自己系統的版本額。

$ rpm -ivh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

2016-10-22日修改:

#最近發上面的來源不能用了。請大家自己在這裡找對應的版本

http://dl.fedoraproject.org/pub/
過不了牆的請用國內鏡像
http://mirrors.sohu.com/fedora- epel/7/x86_64/e/epel-release-7-8.noarch.rpm

remi源種包含最新的php相關信息,如:php7、mysql等,因此為了便捷獲取php7的最新訊息,也需要安裝一下這個來源。

$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

iptables防火牆

因為以前經常使用iptables,對centos7自帶的firewalld防火牆不熟悉,因此我就將關閉centos7自帶的firewalld,啟用自己熟悉的iptables吧。

首先,關閉自帶的firewalld防火牆

$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service #防止开机启动

安裝iptables

$ yum install iptables-services

安裝進程如下圖所示


詳解vagrant搭建的php7環境

#啟動iptables防火牆

systemctl start iptables.service systemctl enable iptables.service #开机自动启动

編輯防火牆設定檔

為了我們在自己的主機上能夠順利訪問,需要開啟以下端口,

vim /etc/sysconfig/iptables
編輯防火牆,設定80(nginx) 3306(mysql/mariadb) 6379(redis)端口,外網可存取

詳解vagrant搭建的php7環境

PHP7. 0的安裝

查看remi來源中可安裝的php信息

$ yum list --enablerepo=remi --enablerepo=remi-php70 | grep php70

該列表會列出所有可以安裝的php模組信息,從中安裝自己需要的模組,下面安裝模組,是我自己的一個模組選擇情況。其中有一部分是必須的,有一部分是可選的。例如php-fpm就是必須的,如果你用的是nginx的話。

$ yum install --enablerepo=remi --enablerepo=remi-php70 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common php-json php-imap php-pecl-redis php-pecl-memcached php-pecl-mongodb

安裝完成後,輸入

php -v 可以查看目前安裝的php版本資訊。
詳解vagrant搭建的php7環境

啟動php-fpm,因為nginx需要透過它來解析php程式

$ systemctl start php-fpm$ systemctl enable php-fpm #设置开机自启动

設定nginx可以存取php

進入nginx的檔案設定中心,

$ cd /etc/nginx/conf.d/# 复制默认的配置文件 $ cp default.conf php.conf

首先透過vim編輯default檔案。將監聽埠改為8080, 因為後面我們自己的php.conf會用到80埠。


詳解vagrant搭建的php7環境

現在來編輯複製的php.conf文件,可以直接複製以下內容,至於配置的意義,後面再開一篇文章來單獨講解吧。

server {
    listen       80;
    server_name  localhost;

    charset utf-8;
    root /vagrant/www;# 自己的项目目录,也就是php项目所在目录

    location / {        # 请注意,一定要加index.php这项
        index  index.php index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;        # 注意此处变量的不同
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

修改完檔案後,必須要重新啟動nginx,才會使目前的設定生效。

$ systemctl reload nginx

測試存取

在/vagrant/www下新建一個檔案index.php

<?php
    phpinfo();

在瀏覽器中打開,存取對應的ip ,可以看到輸出的php資訊


詳解vagrant搭建的php7環境

#註:如果在使用過程中,有新增加的php模組,需要重新啟動php-fpm

#systemctl reload php-fpm

Mariadb的安裝

這裡很多同學可能第一次聽到mariadb,他呢是mysql的一個重要分子,或是可以理解為mysql的替代品,自從mysql被控制後,更新速度已經慢太多了。兩者的用法基本上沒有差別,實際有哪些坑,大家可以自己去踩一踩。哈哈,別說我不負責任。

# 安装$ yum install mariadb-server# 启动服务$ systemctl start mariadb# 开机启动$ systemctl enable mariadb

MariaDB的安全配置

MariaDB預設root密碼為空,我們需要設定一下,執行腳本:

$ sudo mysql_secure_installation

这个脚本会经过一些列的交互问答来进行MariaDB的安全设置。

首先提示输入当前的root密码:

Enter current password for root (enter for none):
初始root密码为空,我们直接敲回车进行下一步。

Set root password? [Y/n]
设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MariaDB的root账户密码。

Remove anonymous users? [Y/n]
是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。

Disallow root login remotely? [Y/n]
是否禁止root用户远程登录?如果您只在本机内访问MariaDB,建议按默认设置,回车继续。 如果您还有其他云主机需要使用root账号访问该数据库,则需要选择n。

Remove test database and access to it? [Y/n]
是否删除测试用的数据库和权限? 建议按照默认设置,回车继续。

Reload privilege tables now? [Y/n]
是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。

完成后你会看到Success!的提示,MariaDB的安全设置已经完成。我们可以使用以下命令登录MariaDB:

$ mysql -uroot -p

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。
詳解vagrant搭建的php7環境

最后我们将MariaDB设置为开机启动。

$ sudo systemctl enable mariadb

让外网可以进行链接

mysql> grant all on *.* to &#39;root&#39;@&#39;%&#39; identified by &#39;root&#39;;
mysql> flush privileges;

安装composer

composer的大名,我就不想介绍了,如果你是一个phper,没用过,我也就不怪你,毕竟但是他现在才刚过1.0版,但是如果听都没听过,请面壁去……

安装说明

$ php -r “readfile(‘https://getcomposer.org/installer‘);” > composer-setup.php$ php composer-setup.php

$ php -r “unlink(‘composer-setup.php’);”

上述 3 条命令的作用依次是:

  1. 下载安装脚本(composer-setup.php)到当前目录。
  2. 执行安装过程。
  3. 删除安装脚本 – composer-setup.php 。

全局安装composer

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:

$ sudo mv composer.phar /usr/local/bin/composer

然后执行:
composer -v
詳解vagrant搭建的php7環境
由于composer的包都在国外,这里设置一下composer的配置,让其每次运行时,都使用国内的包

$ composer config -g repo.packagist composer https://packagist.phpcomposer.com

查看composer的配置文件
vim /root/.composer/config.json
詳解vagrant搭建的php7環境
看到以上内容,表示配置成功!


至此,基本的php7环境搭建已经完成了。然后呢,下一次说一说用vagrant搭建redis吧。当然我不会仅仅只说redis的搭建额。到时候看啊吧!

以上是詳解vagrant搭建的php7環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除