Hypertext Preprocessor,超文本預處理器。是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言。
之後呢php搭建好之後會用到MySQLi擴展庫,通過MySQLi構造方法實例化一個MySQL連接對象,相當於建立了一個連接,後續代碼完全使用面向對象的方法,使用該對象的成員函數操作MySQL數據庫。
該篇呢我們來看一下redhat7.2上php的搭建~
1、準備安裝包
友情鏈接 php:https://www.php.net/downloads.php
2、安裝依賴
# yum -y install 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 openldap-servers openldap-client 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 bzip2 bzip2-devel libxml2 libxml2-devel bzip2 bzip2-devel curl-devel gmp-devel readline-devel
3、指定目錄然後解壓
# tar zxvf php-7.1.30.tar.gz
4、編譯
./configure \
--prefix=/usr/local/php \
--with-pdo-mysql=/opt/mysql \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
-with-mysqli=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--with-config-file-path=/usr/local/php \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-onig \
--enable-pdo \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--with-pear \
--enable-opcache
編譯時可能會因爲版本不同有一些其他需要安裝的包或者工具,裝上就好啦~
5、安裝
[root@localhost php]# make && make install
6、複製php配置文件到指定目錄,並優化命令路徑
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# ln -s /usr/local/php/bin/ /usr/local/bin/
[root@localhost etc]# ln -s /usr/local/php/sbin/ /usr/local/sbin/
7、添加用戶
[root@localhost etc]# useradd -M -s /sbin/nologin php
[root@localhost etc]# id php
uid=1003(php) gid=1003(php) groups=1003(php)
8、修改配置文件
[root@localhost etc]# cd php-fpm.d/
[root@localhost php-fpm.d]# cp www.conf.default www.conf
[root@localhost php-fpm.d]# vi www.conf
在www.conf中修改以下幾個參數
user = php #用戶php
group = php #組php
pm.max_children = 50 # php-fpm 能啓動的子進程的最大數量
pm.start_servers = 20 #動態方式下的起始php-fpm進程數量
pm.min_spare_servers = 5 #動態方式空閒狀態下的最小php-fpm進程數量
pm.max_spare_servers = 35 #動態方式空閒狀態下的最大php-fpm進程數量。
9、啓動php-fpm
[root@localhost php-fpm.d]# /usr/local/php/sbin/php-fpm
10、查看php進程
[root@localhost php-fpm.d]# pgrep php
查看端口號:
[root@localhost php-fpm.d]# netstat -ntap | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 94154/php-fpm: mast
11、使用php連接nginx
[root@localhost php-fpm.d]# cd /usr/local/nginx/conf/
[root@localhost conf]# vi nginx.conf
#添加index.php,識別默認首頁
location / {
root html;
index index.html index.htm index.php;
}
#去掉如下注釋,這裏需要將/scripts改成$document_root,否則nginx返回空白頁面
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
12、修改nginx的默認首頁
[root@localhost conf]# cd ../html/
[root@localhost html]# pwd
/usr/local/nginx/html
[root@localhost html]# vi index.php
13、重啓nginx服務
[root@localhost html]# /usr/local/nginx/sbin/nginx -s reload
在瀏覽器中輸入網址查看頁面:
需要有以下mysql擴展模塊:
14、使用php連接數據庫
[root@localhost html]# vi index.php
[root@localhost html]# cat index.php
<?php
$link=mysqli_connect('192.168.100.131','root','root');
if($link) echo "<h1>PHP-link-MySQL-chenlijian Success!</h1>";
else echo "<h1>PHP-link-false!</h1>";
?>
刷新剛纔的頁面,顯示連接成功!
注意:在編譯時會出現錯誤:libxml2 configure: error: xml2-config not found. Please check your libxml2 installation.
解決辦法呢是:yum install libxml2-devel
可能還會有由於其他包沒裝的錯誤,裝上就好啦~