linux安装php
一.php是什么?
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
二.安装前准备:
1.可去php官网php.net下载合适的php版本。<http://php.net/downloads.php>
三.下面开始安装:
解压下载安装包
# tar -zxvf php-5.6.29.tar.gz
# cd php-5.6.29
参考:
./configure --prefix=/usr/local/php5.6.35 --with-mysql=/usr/local/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir=/usr/local/freetype --with-gd-dir=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-iconv-dir=/usr/local/libiconv-1.14 --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir=/usr/ --enable-gd-native-ttf --enable-zip --enable-fastcgi --enable-fpm
参考:
./configure --prefix=/usr/local/php --enable-mbstring --with-mcrypt --with-mhash --enable-fpm (这段话扩展太少,建议复制上边红色部分,前提是要先安装好mysql)
--with-config-file-path=/etc 这是很重要的一句,用来指定php.ini的位置
而且要注意去解压后的源码里面执行这句话 。 cp php.ini-development /etc/php.ini
如果红色部分报错,那么编译下面这部分(这个就可以了,嘿嘿)
./configure --prefix=/usr/local/php --disable-fileinfo --with-mysql=/usr/local/mysql --with-openssl --enable-mbstring --with-mcrypt --with-mhash --enable-fpm --with-config-file-path=/etc
make && make install
如果make报错,那么使用下面这句话
make ZEND_EXTRA_LIBS='-liconv'
2.下面开始配置:
# cd /usr/local/php/etc
# 需要对目录下的php-fpm配置文件备份并且编辑配置
# cp php-fpm.conf.default php-fpm.conf
# vim php-fpm.conf
#去掉下列变量前面的注释,以避免启动php-fpm时报错
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
:wq 保存 退出
⬆️⬆️⬆️
注意一下这里的报错,还会有一个child什么的,把那个设置成40就可以! (pm.max_children = 40)
3.整合安装好的nginx和php
# vim /usr/local/nginx/conf/nginx.conf
location / {
root /data/nginxwebs; #项目目录
index index.html index.htm index.php; #在原来基础上增加解析index.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;
}
4.重启nginx以及php进行访问 。
1)重启nginx:/usr/local/nginx/sbin/nginx -s reload
2)重启php /usr/local/php/sbin/php-fpm
如果说重启报错,那么直接
killall /usr/local/php/sbin/php-fpm
然后 /usr/local/php/sbin/php-fpm就可以了
#以下为本次安装中的报错解决:
1.Error: mcrypt.h not found. Please reinstall libmcrypt ?
yum install php-mcrypt libmcrypt libmcrypt-devel
2.还有其他的依赖库报错需要进行安装(仅供参考)
yum install libxml2-devel
yum install curl curl-devel
## php-fpm ?
1.PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的.
2.相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。
3.PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。
4.在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。
=============使用PHP-FPM来控制PHP-CGI的FastCGI进程==================
/usr/local/php/sbin/php-fpm{start|stop|quit|restart|reload|logrotate}
--start 启动php的fastcgi进程
--stop 强制终止php的fastcgi进程
--quit 平滑终止php的fastcgi进程
--restart 重启php的fastcgi进程
--reload 重新平滑加载php的php.ini
--logrotate 重新启用log文件
致此本次安装完成,以上属个人安装,仅供参考 。