http://php.net/downloads.php 下载php包
http://php.net/manual/zh/install.unix.php 安装教程链接
php+nginx安装
http://php.net/manual/zh/install.unix.nginx.php
安装前确认安装gcc 是c编译器yum install gcc
安装前先安装mysql
报错1:
configure: error: in `/root/webserver/php-5.5.14':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
解决:安装yum install gcc
确认安装libxml2
报错2:
configure: error: xml2-config not found. Please check your libxml2
installation.
解决:
yum install libxml2
yum install libxml2-devel -y
./configure \
--enable-fpm --prefix=/usr/local/webserver/php \
--with-config-file-path=/usr/local/webserver/php/etc \
--with-mysql=/usr/local/webserver/mysql \
--with-pdo-mysql=/usr/local/webserver/mysql \
--with-zlib --with-curl=/usr/include/curl \
--with-bz2 --with-libxml-dir \
--with-jpeg-dir=/usr/local/webserver/jpeg \
--with-png-dir=/usr/local/webserver/png \
--with-freetype-dir=/usr/include/freetype2/freetype \
--with-gd --enable-gd-native-ttf --with-iconv \
--disable-ipv6 --enable-mbstring --enable-sockets
配置php.ini路径,php.ini错误,无法加载php.ini无法加载,指定php.ini路径(找不到php.ini文件,phpinfo中Loaded Configuration File (none)):/usr/local/webserver/php/sbin/php-fpm -y /usr/local/webserver/php/etc/php-fpm.conf -c /usr/local/webserver/php/etc/php.ini
php.ini配置
display_errors Off
error_log = /data/logs/php-error.log
error_reporting = E_ALL
- 需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。
将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。
打开 php.ini:
sudo vim /usr/local/php/php.ini
定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0
- 在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行。
3. sudo vim /usr/local/etc/php-fpm.conf
groupadd www
useradd -r -g www www
找到以下内容并修改:
pid = /var/run/php-fpm.pid
error_log = /data/logs/php-fpm.log
user = www
group = www
pm.max_children = 256
pm.start_servers = 128
pm.min_spare_servers = 64
pm.max_spare_servers = 256
pm.max_requests = 10240
然后启动 php-fpm启动服务,启动php启动:
sudo /usr/local/bin/php-fpm
/usr/local/webserver/php/sbin/php-fpm
然后重启 php-fpm重启服务,重启php重启, 停止php停止,关闭php关闭:
http://www.111cn.net/phper/php-gj/52906.htm
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
a、没有pid配置的时候使用
ps aux|grep php-fpm查找pid
kill 对应php-fpm的pid #或者killall php-fpm
配置pid后启动php-fpm
b、找到pid路径执行重启:
#kill -USR2 `cat /var/run/php-fpm.pid`
本文未涵盖对 php-fpm 进行进一步配置的信息,如果您需要更多信息,请查阅相关文档。
安装报错1:
Don't know how to define struct flock on this system, set --enable-opcache=no
解决:在./configure后面加 --with-libdir=lib64,php安装不需要指定mysql路径
安装报错2:error: Please specify the install prefix of iconv with --with-iconv=<DIR>
安装libiconv并在./configure后面加入-with-iconv=/usr/local/webserver/iconv
报错3:site:lists.freedesktop.org xcb 依赖包搜索
http://blog.csdn.net/sdomain/article/details/50673473
fatal error: 'X11/xpm.h' file not found
安装libXpm
报错4:error: The pkg-config script could not be found or is too old.
解决:brew install pkgconfig
报错4:Package requirements (xproto x11) were not met:
但安装此包又会提示:
No package 'x11' found
No package 'xproto’ found
再安装:
libX11-1.5.0.tar.gz
和xproto这个包,
报错:ERROR: unable to bind listening socket for address ’127.0.0.1:9000′
解决:killall php-fpm 然后重启即可。
错误:error: Please reinstall the BZip2 distribution
解决:yum install bzip2 bzip2-devel
错误:error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/
解决:yum install curl curl-devel
编译安装socket编译安装socket安装
# cd /usr/local/php-5.2.17/ext/sockets/
# phpize
#./configure --prefix=/usr/local/php
--with-php-config=/usr/local/bin/php-config --enable-sockets
#make && make install
vi /php.ini
extension =
"sockets.so"
编译安装libz编译安装libz安装
编译安装zlib编译安装zlib安装
configure: error: Cannot find libz
再次编译,遇到问题:checking if the location of ZLIB install directory is defined... no ; configure: error: Cannot find libz. 解决办法:
(1)去网址 http://www.zlib.net/ 下载zlib源码。我下的是版本zlib-1.2.7.tar.gz,解压到/usr/src,执行命令:sudo tar -zxvf zlib-1.2.7.tar.gz -C /usr/src
(2)进入目录/usr/src/zlib-1.2.7/,执行命令:sudo ./configure --prefix=/usr/local/webserver/zlib;make;make install
(3)进入php目录中重新编译,增加新参数 --with-zlib-dir=/usr/local/zlib
编译安装bzip2编译安装bzip2安装
再次编译,遇到问题:error: Please reinstall the
BZip2 distribution. 解决办法:
(1)去网站 http://www.bzip.org/downloads.html 下载源码。我用的版本是bzip2-1.0.6.tar.gz,执行命令:sudo tar -zxvf bzip2-1.0.6.tar.gz
(2)
进入目录/root/webserver/bzip2-1.0.6/,
sudo方式执行:make;make install(下的源码中并没有configure)
(3)重新编译,不用增加新参数
编译安装jpeg编译安装jpeg安装
第一种:yum -y
install libjpeg-devel
第二种:再次编译,遇到问题:configure: error: jpeglib.h not found. 解决办法:
(1)去网站 http://www.ijg.org/ 下载源码。我用的版本是jpegsrc.v8d.tar.gz,执行命令:sudo tar -zxvf jpegsrc.v8d.tar.gz -C /usr/src
(2)进入/usr/src/jpegsrc.v8d目录,sudo方式执行命令:sudo ./configure --prefix=/usr/local/webserver/jpeg;make;make install;
(3)重新编译php,增加参数--with-jpeg-dir=/usr/local/webserver/jpeg
编译安装png编译安装png安装
第一种办法:yum install libpng libpng-devel
第二种:遇到问题:configure: error: png.h not found.
(1)去网站http://www.libpng.org/pub/png/libpng.html 下载源码,我用的版本是libpng-1.5.13.tar.gz,执行命令:sudo tar -zxvf libpng-1.5.13.tar.gz -C /usr/src
(2)进入/usr/src/libpng-1.5.13目录,sudo方式执行命令:sudo ./configure --prefix=/usr/local/webserver/png;make;make install;
(3)这时出现了configure: error: zlib not installed的错误,明明之前已经装过的,但是这里还是报错。在网上查了解决办法如下:
3.1)进入zlib的源文件目录(这里我的是/usr/src/zlib-1.2.7/),执行命令 make clean,清除zlib;
3.2)重新配置 ./configure,后面不要接--prefix参数;
3.3)make && make install;
3.4)进入libpng目录(我的是/usr/src/libpng-1.5.13/),执行命令 ./configure --prefix=/usr/local/webserver/png;
3.5)make && make install;
(4)重新编译php,这时增加参数--with-png-dir=/usr/local/webserver/png。
编译安装freetype编译安装freetype安装
error: freetype-config not found.
安装出错的话先:make clean清除一下
./configure --enable-lib64 --prefix=/usr/local/webserver/freetype
make && make install
安装php时配置 --with-freetype=/usr/local/webserver/freetype
装完仍有问题直接用:yum install freetype-devel
编译安装libiconv编译安装libiconv安装编译安装iconv编译安装iconv安装
http://www.gnu.org/software/libiconv/#downloading
$ ./configure --prefix=/usr/local/webserver/iconv
$ make
$ make install
编译安装gd编译安装gd安装编译安装gd编译安装gd安装, 编译安装gd库编译安装gd库安装编译安装gd库编译安装gd库安装
./configure --with-png-dir=/usr/local/webserver/png/ --with-jpeg-dir=/usr/local/webserver/jpeg/ --with-freetype-dir=/usr/include/freetype2/freetype/
生成.so路径
/usr/local/lib/php/extensions/no-debug-non-zts-20121212/
修改:vi /usr/local/webserver/php/etc/php.ini
安装opcache安装
opcache.enable=1
opcache.enable_cli=1
zend_extension = "opcache.so" #末行加入
file_path = /cache #php7缓存路径