溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux下php環(huán)境如何搭建

發(fā)布時間:2020-08-03 10:08:24 來源:億速云 閱讀:302 作者:Leah 欄目:編程語言

linux下php環(huán)境如何搭建?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

linux下php環(huán)境搭建方法:首先獲取PHP、Apache以及MySQL安裝包;然后安裝Apache,并修改配置文件httpd.conf;接著安裝MySQL,并做基本配置;最后安裝PHP,并配置php.ini即可。

LAMP是當下非常熱門的Web開發(fā)環(huán)境。很多開發(fā)者在搭建LAMP的過程中會遇到各種各樣的問題,想到這些頭都快爆炸了,今天特意抽出時間將PHP開發(fā)環(huán)境的搭建過程記錄下來,以便供大家做個參考。如果大家發(fā)現(xiàn)什么問題,還希望大家指正。

一、獲取安裝包

  • PHP下載地址:http://cn.php.net/distributions/php-7.1.10.tar.gz
  • Apache下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.28.tar.gz
  • MySQL下載地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

二、安裝Apache

1. 依賴包安裝

1) 安裝編譯器gcc、gcc-c++

yum install -y gcc gcc-c++

2) 安裝依賴包expat-devel、zlib-devel、openssl-devel

yum install -y expat-devel zlib-devel openssl-devel

2) 安裝依賴包apr

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.2.tar.gz
tar zxvf apr-1.6.2.tar.gzcd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install

3) 安裝依賴包apr-util

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
tar zxvf apr-util-1.6.0.tar.gzcd apr-util-1.6.0
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

4) 安裝依賴包pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar zxvf pcre-8.41.tar.gzcd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install

注意: 將apr、apr-util安裝包拷貝到Apache安裝包的srclib目錄中

名稱分別命名為apr、apr-util,不要后面的版本號

2. 安裝過程

1) 解壓Apache安裝包

tar zxvf httpd-2.4.28.tar.gz

2) 編譯、安裝

cd httpd-2.4.28
./configure --prefix=/usr/local/server/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-so \
--enable-ssl \
--enable-deflate \
--enable-rewrite \
--enable-headers \
--enable-expires \
--disable-cgid\
--disable-cgi
make && make install

3. 修改配置文件httpd.conf

vim /usr/local/server/apache/conf/httpd.conf

去掉ServerName前面的 #

并將ServerName后面的網(wǎng)址改為localhost:80

4. 將httpd加入系統(tǒng)服務并設置開機自啟

1) 將httpd加入系統(tǒng)服務

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd

2) 修改/etc/init.d/httpd,在第3行加入以下內容

# chkconfig: 345 85 15# description: Activates/Deactivates Apache Web Server

注意: 代碼中的 # 不可以去掉

3) 設置系統(tǒng)服務開機自啟

systemctl enable httpd

4) 啟動Apache

service httpd start

三、安裝MySQL

1. 安裝前準備

1) 解壓安裝包

tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/server/mysql

2) 創(chuàng)建用戶和用戶組并分配相應的權限

groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin

3)安裝依賴

yum -y install numactl.x86_64

2. mysql的初始化并做基本配置

1) 初始化mysql

cd /usr/local/server/mysql
bin/mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/server/mysql \
--datadir=/usr/local/server/mysql/data \

2) 配置mysql

vim my.cnf  # 創(chuàng)建配置文件

本示例僅保證mysql可以正常運行,更多配置請參考官方文檔說明

[mysqld]
skip-grant-tablesbasedir   = /usr/local/server/mysqldatadir   = /usr/local/server/mysql/datasocket    = /usr/local/server/mysql/data/mysql.socklog-error = /usr/local/server/mysql/log/error.logport      = 3306[mysql_safe]pid-file  = /var/run/mysql/mysqld.pidlog-error = /usr/local/server/mysql/log/error.log[client]port   = 3306socket = /usr/local/server/mysql/data/mysql.sock

將配置文件軟鏈接到 /etc/ 目錄

ln -s /usr/local/server/mysql/my.cnf /etc/my.cnf

注意: 如果建立軟鏈接時提示文件存在可刪除/etc/my.cnf后再建立軟鏈接

3)創(chuàng)建數(shù)據(jù)庫存儲信息所需目錄和文件

mkdir /usr/local/server/mysql/data
mkdir /usr/local/server/mysql/log
mkdir /var/run/mysql
touch /usr/local/server/mysql/log/error.log

4)設置目錄所有者

chown -R mysql:mysql /usr/local/server/mysql/
chown -R mysql:mysql /var/run/mysql/

3. 設置環(huán)境變量和開機自啟

1) 設置環(huán)境變量

編輯profile文件

vim /etc/profile

添加下列信息到profile尾部

export PATH=$PATH:/usr/local/server/mysql/bin

使環(huán)境變量立即生效

source /etc/profile

2) 設置開機自啟

cp support-files/mysql.server /etc/init.d/mysqld  
chkconfig --add mysqld
chkconfig mysqld on

4. 防火墻設置

CentOS默認開啟了 firewall 防火墻,下面我們使用 firewall 開啟3306l端口

1) 開啟之前我們先查詢下3306端口是否開啟

firewall-cmd --query-port=3306/tcp

2)如果沒有開啟則開啟 firewall 防火墻

systemctl start firewalld.service

3) 我們可以選擇臨時開啟或者永久開啟3306端口

firewall-cmd --add-port=3306/tcp  # 臨時開啟3306端口  
firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久開啟3306端口

4) 重啟firewall

firewall-cmd --reload

5. 啟動mysql并設置root用戶密碼

1) 啟動mysql

/usr/local/server/mysql/support-files/mysql.server start  # 啟動MySQL
/usr/local/server/mysql/bin/mysql -uroot -p  # 這里直接回車,無須輸入密碼

2) 設置root用戶密碼

use mysql;update user set authentication_string=password('root') where user='root';
exit;

注意1: 修改密碼成功后注銷配置文件中的skip-grant-tables

重啟mysql后使用root用戶重新登陸,然后執(zhí)行以下代碼

set password=password('root');

注意2: 第二次執(zhí)行重置密碼是系統(tǒng)要求,否則不可以操作數(shù)據(jù)庫

6. 遠程訪問

1) 給予任何主機訪問mysql的權限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

2) 使權限修改生效

FLUSH PRIVILEGES;

四、安裝PHP

1. 安裝步驟

1) 安裝依賴包libxml-devel

yum -y install libxml2-devel

2) 解壓PHP安裝包

tar zxvf php-7.1.10.tar.gz

3) 編譯安裝

cd php-7.1.10
./configure --prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-config-file-path=/usr/local/server/php \
--with-pdo-mysql
make && make install

2. 配置php.ini

1) 將配置文件拷貝到PHP安裝目錄

cp php.ini-* /usr/local/server/php/

2) 生成php.ini

cp php.ini-development /usr/local/server/php/php.ini

3. 修改httpd.conf

載入PHP模塊,如httpd.conf中有下列代碼則直接去掉前面#即可,沒有則加入

LoadModule php7_module modules/libphp7.so

在底部加入以下代碼使得Apache可以解析php文件

<IfModule mod_php7.c>	AddType application/x-httpd-php .php</IfModule>

找到如下代碼,在index.html后面加入index.php

<IfModule dir_module>    DirectoryIndex index.html</IfModule>

重啟Apache

service httpd restart

4. 測試PHP是否成功安裝

創(chuàng)建/usr/local/server/apache/htdocs/index.php

vim /usr/local/server/apache/htdocs/index.php

在index.php中編寫以下代碼

<?php

   phpinfo();?>

如果出現(xiàn)以下頁面則安裝成功

linux下php環(huán)境如何搭建

看完上述內容,你們掌握linux下php環(huán)境如何搭建的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI