php是创建动态交互性站点的强有力的一种服务器端脚本语言,是目前使用最广泛的语言之一。
PHP,对很多不懂编程的朋友来说,在使用的上,会比对着JAVA等语言太容易上手了。我这里说的上手,是做一些最简单的修改等。而目前在网络上,到处充斥着PHP的博客、商城等。其最大的原因应该也是小微型企业或个人的众多使用。这个在使用上或选型上,成本低,上手快。有利于小微型企业快速生产环境部署并投入商业应用。
今天森哥带来的,不是教你什么使用php写个应用或是php的使用教程,而是带着大家,一起搭建一个php的应用环境。
php的版本,目前常用的都是5.6以上的版本,在这里,森哥强烈建议新的php应用,尽量使用7.0或以上的。下面,森哥将会基于php7.3的部署及相关应用插件的安装及检查,为大家提供一个部署教程。若有其他好的意见或是建议,也欢迎提出来,也算是森哥抛砖引玉,大家共同进步。
森哥对这些应用与服务,最喜欢使用的就是CentOS系统,可能是从最早接触的Linux环境下的系统就是CentOS吧,偶尔也有使用ubuntu,但使用的次数不多。
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 install -y epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm //php7.X yum源
yum groupinstall -y "Development Tools" //安装 "开发工具"
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
这个内容,可以根据需要而定。不一定要全部安装。森哥是为了减少其他应用上安装时遇到的问题而产生的麻烦。
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
vi /etc/opt/remi/php73/php.ini
memory_limit = 512M
php所使用的用户,可根据您实际上所使用的web服务的软件而定,常用的就是Apache与Nginx。由于森哥使用最多的就是nginx,所以,在www.conf里面的用户名及组,统一改为: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中,加入下面的内容,让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运行情况及相关安装的组件。
<? 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的安装已完成 ,希望这个教程对各位朋友有用。