搜尋
首頁後端開發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中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具