php是創(chuàng)建動態(tài)交互性站點的強有力的一種服務(wù)器端腳本語言,是目前使用最廣泛的語言之一。
PHP,對很多不懂編程的朋友來說,在使用的上,會比對著JAVA等語言太容易上手了。我這里說的上手,是做一些最簡單的修改等。而目前在網(wǎng)絡(luò)上,到處充斥著PHP的博客、商城等。其最大的原因應(yīng)該也是小微型企業(yè)或個人的眾多使用。這個在使用上或選型上,成本低,上手快。有利于小微型企業(yè)快速生產(chǎn)環(huán)境部署并投入商業(yè)應(yīng)用。
今天森哥帶來的,不是教你什么使用php寫個應(yīng)用或是php的使用教程,而是帶著大家,一起搭建一個php的應(yīng)用環(huán)境。
php的版本,目前常用的都是5.6以上的版本,在這里,森哥強烈建議新的php應(yīng)用,盡量使用7.0或以上的。下面,森哥將會基于php7.3的部署及相關(guān)應(yīng)用插件的安裝及檢查,為大家提供一個部署教程。若有其他好的意見或是建議,也歡迎提出來,也算是森哥拋磚引玉,大家共同進步。
系統(tǒng)環(huán)境:centos linux release 7.7.1908 (Core)
森哥對這些應(yīng)用與服務(wù),最喜歡使用的就是CentOS系統(tǒng),可能是從最早接觸的Linux環(huán)境下的系統(tǒng)就是CentOS吧,偶爾也有使用ubuntu,但使用的次數(shù)不多。
PHP版本:7.3
準備工作:
關(guān)閉SELINUX及卸載系統(tǒng)自帶防火墻
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl mask firewalld
systemctl remove -y firewalld
安裝基本工具:
yum install -y chkconfig net-tools ntsysv mlocate lrzsz wget lsof setuptool
yum install -y vim git
更新yum源
yum install -y epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm //php7.X yum源
環(huán)境預(yù)裝
yum groupinstall -y "Development Tools" //安裝 "開發(fā)工具"
yum install -y binutils make cmake 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 bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gd gd-devel perl expat expat-devel nss_ldap unixODBC unixODBC-devel libxslt-devel libevent-devel libtool-ltdl bison libtool zip unzip gmp-devel pcre pcre-devel perl-core Python-devel perl-devel perl-ExtUtils-Embed compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel libaio libaio-devel sysstat
這個內(nèi)容,可以根據(jù)需要而定。不一定要全部安裝。森哥是為了減少其他應(yīng)用上安裝時遇到的問題而產(chǎn)生的麻煩。
PHP安裝
yum --enablerepo=remi install -y php73-php php73-php-pear php73-php-bcmath php73-php-pecl php73-php-jsond php73-php-MySQLnd php73-php-mysql php73-php-gd php73-php-common php73-php-fpm php73-php-intl php73-php-cli php73-php php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-pdo php73-php-odbc php73-php-xmlrpc php73-php-mhash php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-mbstring php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt php73-php-soap php73-php-pecl-redis5 php73-php-pecl-memcached php73-php-ioncube-loader traceroute net-snmp-devel vim sysstat tree mysql-devel ntpdate libjpeg* bind-utils libmemcached lumina-fileinfo
php73 -v
systemctl restart php73-php-fpm
systemctl enable php73-php-fpm
ln -s /opt/remi/php73/root/usr/bin/php /usr/bin/php
ln -s /opt/remi/php73/root/usr/bin/phpize /usr/bin/phpize
ln -s /opt/remi/php73/root/usr/bin/php-config /usr/bin/php-config
配置php
vi /etc/opt/remi/php73/php.ini
memory_limit = 512M
php所使用的用戶,可根據(jù)您實際上所使用的web服務(wù)的軟件而定,常用的就是Apache與Nginx。由于森哥使用最多的就是nginx,所以,在www.conf里面的用戶名及組,統(tǒng)一改為:nginx
vi /etc/opt/remi/php73/php-fpm.d/www.conf
user = apache
group = apache
變更為:
user = nginx
group = nginx
若已安裝完nginx的話,可以直接重啟一下php
systemctl restart php73-php-fpm
在nginx.conf中,加入下面的內(nèi)容,讓nginx在訪問php時,可以正常顯示。
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;
}
檢查php運行情況及相關(guān)安裝的組件。
<? phpinfo(); ?>
遇到訪問phpinfo時空白,是php為了安全,默認將short_open_tag初始值為:Off
進入php.ini中,將值改為On。
vi /etc/opt/remi/php73/php.ini
short_open_tag = On
使用完后,記得改為:Off。
在這個上面,可以很直觀的查到你已安裝上的php組件。
至此,PHP7.3的安裝已完成 ,希望這個教程對各位朋友有用。