linux php環境搭建教程,linux php環境搭建教程

linux php環境搭建的方法:首先獲取相關安裝包;然后安裝Apache以及mysql;接著修改配置文件“httpd.conf”;最后設置環境變量和開機自啟,并編譯安裝PHP即可。

e34f0ffd12bde44d01fe7ff55183a36d.png

一、獲取安裝包PHP下載地址:http://cn.php.net/distributions/php-7.2.6.tar.gz

Apache下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.gz

MySQL下載地址: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-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-develyum install -y expat-devel zlib-devel openssl-devel

2) 安裝依賴包apr

注意:如果依賴包不存在,則去網站找最新的包,改成相應版本號下載即可wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz

tar zxvf apr-1.6.2.tar.gzcd apr-1.6.2

./configure --prefix=/usr/local/apr

make && make install

3) 安裝依賴包apr-utilwget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.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) 安裝依賴包pcrewget https://ftp.pcre.org/pub/pcre/pcre-8.42.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.33.tar.gz

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

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

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 \--with-mysql=shared,mysqlnd

--enable-so \

--enable-ssl \

--enable-deflate \

--enable-rewrite \

--enable-headers \

--enable-expires \

--disable-cgid\

--disable-cgi

3. 修改配置文件httpd.confvim /usr/local/server/apache/conf/httpd.conf

去掉ServerName前面的 #

并將ServerName后面的網址改為localhost:80

4. 將httpd加入系統服務并設置開機自啟1) 將httpd加入系統服務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) 設置系統服務開機自啟systemctl enable httpd

4) 啟動Apacheservice httpd start

三、安裝MySQL

1. 安裝前準備1) 解壓安裝包tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/server/mysql

2) 創建用戶和用戶組并分配相應的權限groupadd mysql

useradd -r -g mysql mysql

chown -R mysql:mysql . #注意后面有個點

2. mysql的初始化并做基本配置1) 初始化mysqlcd /usr/local/server/mysql

bin/mysqld \

--initialize \

--user=mysql \

--basedir=/usr/local/server/mysql \

--datadir=/usr/local/server/mysql/data \

注意 : 如果報錯 , 則缺哪個庫yum安裝即可bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install libaio

2) 配置mysqlvim my.cnf # 創建配置文件

本示例僅保證mysql可以正常運行,更多配置請參考官方文檔說明[mysqld]skip-grant-tablesbasedir = /usr/local/server/mysqldatadir = /usr/local/server/mysql/dataport = 3306

將配置文件軟鏈接到 /etc/ 目錄rm -rf /etc/my.cnfln -s /usr/local/server/mysql/my.cnf /etc/my.cnf

3. 啟動mysql并設置root用戶密碼1) 啟動mysqlsupport-files/mysql.server start # 啟動MySQLbin/mysql -uroot -p # 這里直接回車,無須輸入密碼

2) 重置root用戶密碼use mysql;

update user set authentication_string='' where user='root';

exit;

3 ) 刪除/etc/my.cnf文件的 skip-grant-tables , 重啟mysql服務support-files/mysql.server restart #重啟mysql

4 ) 用root用戶進行登錄

mysql -u root -p

passwrod:直接回車

5 ) 使用ALTER修改root用戶密碼,初始化完畢 。退出,使用新密碼登錄

ALTER user 'root'@'localhost' IDENTIFIED BY 'new_password';

4. 設置環境變量和開機自啟1) 設置環境變量

編輯profile文件vim /etc/profile

添加下列信息到profile尾部export PATH=$PATH:/usr/local/server/mysql/bin

使環境變量立即生效source /etc/profile

2) 設置開機自啟cp support-files/mysql.server /etc/init.d/mysqld

systemctl enable mysqld

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

1) 開啟之前我們先查詢下3306端口是否開啟firewall-cmd --query-port=3306/tcp

2) 我們可以選擇臨時開啟或者永久開啟3306端口firewall-cmd --add-port=3306/tcp # 臨時開啟3306端口 firewall-cmd --permanent --zone=public --add-port=3306/tcp # 永久開啟3306端口

3) 重啟firewallfirewall-cmd --reload

6. 遠程訪問1) 給予任何主機訪問mysql的權限create user root@'%' identified by 'your_password';

grant all privileges on *.* to root@'%';

2) 使權限修改生效FLUSH PRIVILEGES;

四、安裝PHP

1. 安裝步驟1) 安裝依賴包yum -y install wget vim pcre pcre-devel openssl openssl-devel \

libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng \

libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib \

zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel \

curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel \

nss_ldap jemalloc-devel cmake boost-devel bison automake libevent \

libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt \

mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel \

libcurl libcurl-devel openjpeg-devel libcurl.x86_64 libcurl-devel.x86_64 \

libjpeg-turbo libjpeg-turbo-devel libpng freetype libpng-devel \

freetype-devel icu libicu libicu-devel openldap openldap-clients \

openldap-devel openldap-serverscp -frp /usr/lib64/libldap* /usr/lib/

2) 解壓PHP安裝包tar zxvf php-7.2.6.tar.gz

3) 編譯安裝cd php-7.2.6

./configure --prefix=/usr/local/server/php \

--with-apxs2=/usr/local/server/apache/bin/apxs \

--with-config-file-path=/usr/local/server/php \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--enable-mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--enable-mysqlnd-compression-support \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--enable-mbregex \

--enable-mbstring \

--enable-intl \

--with-libmbfl \

--enable-ftp \

--with-gd \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--with-gettext \

--disable-fileinfo \

--enable-opcache \

--with-pear \

--enable-maintainer-zts \

--with-ldap=shared \

--without-gdbm \make && make install

2. 配置php.ini1) 將配置文件拷貝到PHP安裝目錄cp php.ini-* /usr/local/server/php/

2) 生成php.inicp php.ini-development /usr/local/server/php/php.inicp /usr/local/server/php/etc/php-fpm.conf.default /usr/local/server/php/etc/php-fpm.conf

3 ) 修改php.ini配置文件expose_php = Off

short_open_tag = ON

max_execution_time = 300

max_input_time = 300

memory_limit = 128M

post_max_size = 32M

date.timezone = Asia/Shanghai

mbstring.func_overload=2

extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-zts-20170718/"

3. 修改httpd.conf載入PHP模塊,如httpd.conf中有下列代碼則直接去掉前面#即可,沒有則加入LoadModule php7_module modules/libphp7.so

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

AddType application/x-httpd-php .php

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

DirectoryIndex index.html

重啟Apacheservice httpd restart

4. 測試PHP是否成功安裝創建/usr/local/server/apache/htdocs/index.phpvim /usr/local/server/apache/htdocs/index.php

在index.php中編寫以下代碼<?php

phpinfo();?>

如果出現以下頁面則安裝成功

f87c5ed04124fecdd6cac05989bba98a.png

MYSQL8.0安裝后 phpMyAdmin無法登陸解決

MYSQL8.0的密碼驗證方式從mysql_native_password改為了caching_sha2_password

vim my.cnfdefault_authentication_plugin=mysql_native_password

進入mysql修改一下密碼和加密插件use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

FLUSH PRIVILEGES;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539537.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539537.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539537.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache2.2與Tomcat7集成方案詳解

原文地址&#xff1a;http://my.oschina.net/u/919173/blog/159206 ------------------------------------ 首先談一下為什么要集成Apache和tomcat7&#xff1f; Apache是當前使用最為廣泛的WWW服務器軟件&#xff0c;具有相當強大的靜態HTML處理的能力。 Tomcat服務器是一個…

cocos 制作動態生成內容的列表_零代碼工具,讓你在線輕松制作交互內容!

在工作中設計師不會寫代碼&#xff0c;懂代碼的不會設計&#xff0c;2種不同工作互掐的情況屢見不鮮&#xff0c;那我們如何把這2項工作一并融合貫通呢&#xff1f;對于不懂代碼的職場“小白”&#xff0c;我們可以利用一些零代碼工具來完成。今天小編介紹幾款在線開發設計工具…

php怎樣數據緩存文件,php數據緩存到文件類設計

// 自定義緩存類class Cache_Filesystem {// 緩存寫保存function set ($key, $data, $ttl) {//打開文件為讀/寫模式$h fopen($this->get_filename($key), ‘a‘);if (!$h) throw new Exception("Could not write to cache");flock($h, LOCK_EX); //寫鎖定&#x…

jsp放在web-inf下的注意事項

原文&#xff1a;http://blog.csdn.net/whatlookingfor/article/details/38381881 ------------------------------------------------- web-inf目錄是不對外開放的&#xff0c;外部沒辦法直接訪問到。所有只能通過映射來訪問&#xff0c;比如映射為一個action或者servlet通過…

php打印布爾型,PHP數據類型之布爾型的介紹_PHP

布爾類型是PHP中 最簡單的類型。它的值可以為 TRUE 或 FALSE。如&#xff1a;$foofalse;$foo1true;echo "為假時輸出值為:".$foo; //沒有輸出值echo "為真時輸出值為:".$foo1; //輸出1這里主要的細節&#xff1a;當轉換為 boolean 時&#xff0c;以下值被認…

oracle 如何終止存儲過程的運行

0.查詢正在執行的存儲過程&#xff1a; select * from v$db_object_cache where locks > 0 and pins > 0 and typePROCEDURE;1. 在V$ACCESS視圖中找到要停止進程的SID: 舉例&#xff1a;存儲過程名&#xff1a;CRH_ENTRY SELECT t.* FROM V$ACCESS t WHERE t.objectCRH_…

python install zabbix.4.0

1.安裝 MySQLdb 模塊; #!/bin/bash #this is rpm python Environment depends on function depends_rpm(){ yum clean all yum -y install gcc* python-devel python-pip mariadb mariadb-devel mariadb-server if [ $? -eq 0 ]thenpip install MySQL-python1.2.5 elsee…

asp.net 獲取全部在線用戶_Qamp;A | 在線考試問卷答疑

01.如何批量導入試題&#xff1f;如果您已經在word或者excel中準備好了考試文檔&#xff0c;通過批量導入試題的方式&#xff0c;可以讓考試問卷的制作更加方便快捷。詳細了解批量導入考試的文本格式&#xff1a;【點擊此處】02.如何進行考試隨機抽題&#xff1f;老師事先建立題…

PHP 框架 模塊化,Laravel 的模塊化開發框架 Notadd RC1

本文我們要和大家分享 Laravel 的模塊化開發框架 Notadd RC1 的介紹&#xff0c;它的優點是修復了首頁編輯模式下滾動的BUG (Eleven)&#xff0c;修復了后臺菜單管理修改后不跳轉的BUG (ganlanshu0211)&#xff0c;修復后臺 ESLint 的 Camelcase 的錯誤 (狒狒)&#xff0c;暫時…

spring mvc 工作流程

1A&#xff09;客戶端發出http請求&#xff0c;只要請求形式符合web.xml 文件中配置的*.action的話&#xff0c;就由DispatcherServlet 來處理。 1B&#xff09;DispatcherServlet再將http請求委托給映射器 的對象來將http請求交給對應的Action來處理 2&#xff0…

9-2 鏈表

package gather;import java.util.LinkedList; import java.util.List; import java.util.ListIterator;public class TestFour {public static void main(String[] args) {// TODO Auto-generated method stub/*** 1、通過整數遍歷元素時&#xff0c;不要使用鏈表結構&#xf…

excel切片器_如何在Excel表格中使用切片器

切片器除了在數據透視表中會使用到&#xff0c;在Excel的表格功能下面&#xff0c;也是可以進行使用的。下面就來介紹一下如何使用切片器這個工具。創建和使用切片器1.首先就是要創建一個表格。選中目標區域&#xff0c;使用快捷鍵CtrlT&#xff0c;創建一個表格。2.點擊“插入…

分階段付款 學php,項目整理-支付寶的支付問題

支付寶作為一個被廣泛使用的支付工具&#xff0c;在是用的時候可以被廣泛使用。可以使用demo提取(由于當時開發時SDK下載路徑無法下載&#xff0c;直接從DEMO中篩選了需要部分)------------------我是開始開發思路的分割線--------------------------本次主要是APP支付的流程。…

使用sqlldr導入文本數據到oracle

1.sqlldr介紹 用法: SQLLDR keywordvalue [,keywordvalue,...]有效的關鍵字:userid -- ORACLE 用戶名/口令 control -- 控制文件名 log -- 日志文件名 bad -- 錯誤文件名 data -- 數據文件名 dis…

Mac os區別_SN及Mac地址燒錄

platform:RK3399 OS:Android 7.1 參考: 1.比特人生 https://blog.csdn.net/ielife/article/details/86719313 2.KrisFei https://blog.csdn.net/kris_fei/article/details/79447343?ops_request_misc%257B%2522request%255Fid%2522%253A%2522158883304619726869022990%2522%25…

linux 查看數據庫和表 mysql 命令

2019獨角獸企業重金招聘Python工程師標準>>> 查看是否有安裝數據庫 &#xff1a;rpm -qa|grep -i mysql 如圖已安裝&#xff1a; 未安裝&#xff1a; 查看MySQL版本的四種方法 1 在終端下執行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 里查看…

php mvc 邏輯層在哪,mvc的業務邏輯應該放哪里?

背景: 基于laravel的后臺管理系統&#xff0c;CURD密集型業務問題&#xff1a;當直接在控制器方法中調用orm處理業務邏輯時&#xff0c;代碼復用性差&#xff0c;控制器層很肥嘗試解決&#xff11;&#xff1a;新建一個model層&#xff0c;將原先在控制器中的處理邏輯移到mode…

servlet/filter/listener/interceptor區別與聯系

下面從幾個方面闡述一下題目中四個概念的區別與聯系&#xff1a; 1、概念 2、生命周期 3、職責 4、執行過程 一、概念&#xff1a; 1、servlet&#xff1a;servlet是一種運行服務器端的Java應用程序&#xff0c;具有獨立于平臺和協議的特性&#xff0c;并且可以動態的生成web頁…

電腦系統哪個最好用_袪痘袪痘印哪個產品最好 祛痘印最好用的產品十大推薦...

原標題&#xff1a;袪痘袪痘印哪個產品最好 祛痘印最好用的產品十大推薦痘痘下去了&#xff0c;痘印卻頑固不化。有些痘印如果不及時修復&#xff0c;會留下疤痕和坑。我們真的不敢去想他們。所以有痘印痘印的時候一定要及時使用護膚品&#xff0c;不要在臉上留下什么遺憾&…