前言
已经很久没写php代码了,以前是前后端都折腾,毕业入职以后就只是单纯写前端了
刚好前不久在nitrous上建了一个测试账户(ubuntu环境),于是就打算部署个Laravel玩玩,一个很火的php框架
于是乎,是的,我又得折腾一遍LAMP了(生无可恋脸...)
nitrous上原本是已经部署好了apache2和php5的,可是php5的版本是5.5.9,而Laravel对php版本的最低要求是>=5.6.4
所以,蛋疼了,得重新装php了,更悲剧的是用自带的apt-get是无法安装特定版本的,软件源是什么版本就只能什么版本
因此,无路可走,只能选择源码编译安装的方式了,在这条路上我的折腾之旅是酱紫的:
1. 手动安装了php5.6.26,可是系统自带的apache2还是默认配置了原来的php5.5.9
2. 卸载了自带的php5.5.9,可是无论怎么配置apache2还是无法与手动安装的php5.6.26配合
3. 于是索性把自带的apache2和php5.5.9全部卸载掉
4. 手动安装配置apache2和php5.6.26
另外,需要注意的一点是,编译php时,尽量把要用到的扩展模块全都一起编译好,不然以后各种模块缺失折腾死你
正文
下面正式介绍安装编译步骤:
1.安装apache2
前提:下载好 httpd-xxx.tar.gz, apr-xxx.tar.gz, apr-util-xxx.tar.gz, pcre-xxx.tar.gz (xxx是相应版本,看你需求)
1.1 安装apr
sudo tar -xzvf apr-xxx.tar.gz
cd apr-xxx
sudo ./configure --prefix=/usr/local/apr
sudo make
sudo make install
1.2 安装apr-util
sudo tar -xzvf apr-util-xxx.tar.gz
cd apr-util-xxx
sudo ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
sudo make
sudo make install
1.4 安装httpd
sudo tar -xzvf httpd-xxx.tar.gz
cd httpd-xxx
sudo ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-include-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
sudo make
sudo make install
1.5 配置apache2
apache2的配置主要是网站目录和端口的配置,以及php的配置
1.5.1 网站目录和端口的配置
待续
1.5.2 php配置
待续
注:以上路径根据自己需求更改
2. 安装php
前提:下载好php-5.6.26.tar.gz
2.1 安装libpng12
sudo apt-get -y install libpng12-dev
2.2 安装libjpeg
sudo apt-get -y install libjpeg-dev
2.3 安装freetype6
sudo apt-get -y install libfreetype6-dev
2.4 安装libxml2
sudo apt-get -y install libxml2-dev
2.5 安装php
sudo tar -xzvf php-5.6.26.tar.gz
cd php-5.6.26
sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl-dir=/usr --with-openssl --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-fpm--enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli
sudo make
sudo make install
2.6 配置php-fpm
在php源码目录
sudo cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod+x /etc/init.d/php-fpm
接着
cd /usr/local/php/etc/
sudo cp php-fpm.conf.default php-fpm.conf
sudo mv php-fpm.conf.default php-fpm.conf.default.bak
编辑配置文件
sudo vim php-fpm.conf
将;pid = run/php-fpm.pid前面的分号去掉
将
user = nobody
group = nobody
中的nobody改为你自己的用户名和用户组
保存退出
启动php-fpm
sudo /etc/init.d/php-fpm start
2.7 php配置
定位到原来php源码目录
sudo cp -f php.ini-production /usr/local/php/etc/php.ini
添加权限
sudo chmod 644 /usr/local/php/etc/php.ini
2.8 将php命令链接到系统路径中
sudo cp /usr/local/php/bin/php /usr/bin/php
2.9 执行php -i 查看php信息
3.安装MySQL
待续
4. 安装Laravel
待续
参考:
http://sunrising.blog.51cto.com/10729461/1722199
https://www.insp.top/compile-and-install-apache24-and-php56-on-centos