首頁 後端開發 PHP7 詳解vagrant搭建的php7環境

詳解vagrant搭建的php7環境

Apr 27, 2021 am 10:55 AM
vagrant

詳解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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1654
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24