环境:
- digitalocean CentOS 7.4 x64
- php:php-7.0.4
下载php文件
cd ~/lnmp_pkg
wget http://php.net/distributions/php-7.0.4.tar.gz && tar -xzvf php-7.0.4.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz && tar -xzvf libiconv-1.14.tar.gz
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz && tar -xzvf libmcrypt-2.5.8.tar.gz
编译libiconv
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv-1.14 #安装目录
cd srclib
sed -i -e '/gets is a security/d' ./stdio.in.h
cd ..
sudo make -j2
sudo make install
编译libmcrypt
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt-2.5.8
sudo make -j2
sudo make install
安装依赖
sudo yum -y install openssl-devel curl-devel
由于我之前安装了nginx的时候已经装了一些依赖了,所有我现在只安装了上面的依赖就没有报错,如果你之前没安装依赖,看看下面的哪些依赖没装,你可以选择性的安装自己需要的:
sudo yum -y install zlib-devel pcre-devel openssl-devel gcc gcc-c++ ncurses-devel perl perl-devel perl-ExtUtils-Embed libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel curl-devel
编译PHP
cd php-7.0.4
./configure --prefix=/usr/local/php-7.0.4 --with-config-file-path=/usr/local/php-7.0.4/etc --with-mysqli=mysqlnd --with-iconv-dir=/usr/local/libiconv-1.14 --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-bcmath --enable-inline-optimization --with-curl --with-fpm-user=michael --with-fpm-group=www --enable-mbstring --with-mcrypt=/usr/local/libmcrypt-2.5.8 --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-sockets --enable-zip --enable-ftp --without-pear --enable-pdo --with-pdo-mysql=mysqlnd --disable-fileinfo --with-xmlrpc --enable-opcache --enable-fpm
注意:以上各参数以空格隔开,–prefix指定你想要设置的安装目录,–with-iconv-dir指定你前面libiconv的安装目录,–with-fpm-user指定你的用户,–with-fpm-group指定你的用户组,–with-mcrypt需要指定你libmcrypt的安装目录,不然编译PHP时,就算安装了也会提示找不到libmcrypt,请重新安装的错误!
编译安装
make -j2
make test
sudo make install
配置
1)首先为php创建配置文件:
将加压后的安装包内的 php.ini-production文件复制一份到安装目录
cd /home/michael/lnmp_pkg/php-7.0.4
cp php.ini-development /usr/local/php-7.0.4/php.ini # 如果是开发就复制php.ini-development
将安装目录/usr/local/php-7.0.4/etc下的php-fpm.conf.default文件复制一份并重名为php-fpm.conf
cd /usr/local/php-7.0.4/etc
cp php-fpm.conf.default php-fpm.conf
做一个软链接
ln -s /usr/local/php-7.0.4/bin/php /usr/bin/
进入安装目录/usr/local/php-7.0.4/etc/php-fpm.d目录下,将www.conf.default复制一份并重命名为www.conf
cd /usr/local/php-7.0.4/etc/php-fpm.d
cp www.conf.default www.conf
2)配置/usr/local/php-7.0.4/etc/php-fpm.conf
文件
vi /usr/local/php-7.0.4/etc/php-fpm.conf
基本上不用动,具体参考:php-fpm的配置和优化;
3)配置www.conf文件
vi /usr/local/php-7.0.4/etc/php-fpm.d/www.conf
需要修改的内容包括user ,group,listen.owner,listen.group ,listen 等信息是否和你自己的用户名、用户组等对应,基本不用动。
设置启动项
1)添加到系统服务
sudo vi /usr/lib/systemd/system/php-fpm.service
编辑内容如下:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php-7.0.4/sbin/php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2)启动php-fpm
sudo systemctl start php-fpm.service
3) 设置开机自启
sudo systemctl enable php-fpm.service
4) 查看运行状态
sudo systemctl status php-fpm.service
5) 检查是否开机启动
sudo systemctl is-enabled php-fpm.service
至此php安装完成,其他的你可能需要修改nginx配置让它支持php。
最新评论
网飞没问题, 迪士尼+有解决方案么?
pp助手是安卓手机用的,根本下载用不来苹果
已解决
这样的话数据库里的结构为{"attachment":{"content":"xxx"}}, 要怎么才能变成{"content":"xxx"},从而使结构保持一致?
赞! make test不过的坑都写到的,谢谢楼主~
谢谢你
用了root用户还是一直502是怎么回事呢
student id 是空的