环境搭建之 CentOS下源码编译安装PHP(针对5.5.20.tar版本可以正常使用!!!)
安装php编译源码安装
先卸载安装过的php(可能通过rpm安装,可能通过yum安装要先卸载掉)
第一种 rpm安装的情况下:
rpm -qa|grep -i php ---先查找关于php的rpm的系统上安装的包
ps -ef|grep php-fpm
普通卸载(没有考虑依赖包)rpm –e mod_auth_mysql ----为普通卸载
存在依赖包,上述卸载不了,加个条件
rpm -e php-4.3.9-3.15 –nodeps
卸载完之后删除一些没用的文件rm -fr /usr/local/php等涉及php的文件,还要删除/etc/php.ini这个文件
第二种 yum安装的情况下:
yum remove php ---这个命令是删除不干净的,完整的应该如下:
先查找 列出所有已安装的软件包
yum list installed | less
tar -xzvf php-5.5.20.tar.gz
cd php-5.5.20.tar.gz
新版的php5.5默认添加enable--fastcgi,所以不需要添加这个参数,正确的方法是
./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-bz2 --with-gettext --with-mhash --with-mcrypt --with-iconv-dir=/usr/local --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mysql=/usr/ --with-pdo-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --enable-gd-native-ttf --enable-bcmath --enable-mbstring --enable-zip --enable-soap --enable-sockets --enable-ftp --enable-fpm --without-pear
下面这个版本可以去掉
./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-bz2 --with-gettext --with-mhash --with-mcrypt --with-iconv=/usr/local/libiconv --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --enable-gd-native-ttf --enable-bcmath --enable-mbstring --enable-zip --enable-soap --enable-sockets --enable-ftp --enable-fastcgi --enable-fpm --without-pear
make &&make install
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
安装的时候要记得关闭php-fpm并且杀掉phpcgi监听的端口号(在nginx的虚拟主机配置里面可查看)
kill -9 进程PID || 或者 使用 killall php-fpm 全部杀死即可
2开机启动 php-fpm
1.配置php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid
2.拷贝php-fpm脚本至/etc/init.d目录
cp /home/php-5.5.20/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
3.设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig --add php-fpm
最后,给出php-fpm以服务的方式启动、停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload
3.安装mysqli 扩展
进入php5.5.20的源码包
cd /home/php-5.5.20/ext/mysqli
/usr/local/php/bin/phpize
./configure -prefix=/usr/local/mysqli –with-php-config=/usr/local/php/bin/php-config –with-mysqli=/usr/local/mysql/bin/mysql_config
make
make install
安装完成后,去etc/php.ini修改添加下面一句
extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mssql.so --针对安装mssql语句的
extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mysqli.so
重启php-fpm 先杀掉php-fpm killall php-fpm 然后重启 /usr/local/php/sbin/php-fpm
安装其他扩展包类似按上面的方式安装
4.添加php php-fpm到环境变量中
方法一: 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
vi /etc/profile
在文件末尾加上如下两行代码
PATH=/usr/local/webserver/php/bin:$PATH export PATH
要是刚才的修改马上生效,需要执行以下代码
source /etc/profile
php -v 此时可以查看到php的版本了
添加环境变量(把php和mysql添加到环境变量)
方法三:修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin
export PATH
最后:执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
{
把 nginx 和 php-fpm 添加到系统服务:
vim /etc/init.d/nginx # Copy the "nginx" into "/etc/init.d/nginx" chmod 755 /etc/init.d/nginx chkconfig --level 345 nginx on vim /etc/init.d/php-fpm # Copy the "php-fpm" into "/etc/init.d/nginx" chmod 755 /etc/init.d/php-fpm chkconfig --level 345 php-fpm on # Or simply: echo "/usr/sbin/nginx" >> /etc/rc.local # Stop pkill -9 nginx # Reload /usr/sbin/nginx -s reload echo "/usr/sbin/php-fpm -y /etc/php-fpm.conf" >> /etc/rc.local # Stop pkill -9 php-fpm
}
安装memcached
- cd /var/www/html
- wget http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.10/phpMyAdmin-3.3.10-all-languages.tar.gz
- tar xvfz phpMyAdmin-3.3.10-all-languages.tar.gz
- mv phpMyAdmin-3.3.10-all-languages phpmyadmin 实际上是重命名了文件夹而已
- cd phpmyadmin
- cp config.sample.inc.php config.inc.php
- 重启nginx即可 你可以通过http://your.domain.com/phpmyadmin/测试访问。
II. 打开config.inc.php文件,进行以下修改;
// $cfg['Servers'][$i]['controluser'] = ‘pma’;
// $cfg['Servers'][$i]['controlpass'] = ‘pmapass’;
// $cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;
// $cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
// $cfg['Servers'][$i]['relation'] = ‘pma_relation’;
// $cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
// $cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
// $cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
// $cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
// $cfg['Servers'][$i]['history'] = ‘pma_history’;
// $cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;
去掉每行前面的//;
III.$cfg['blowfish_secret'] = ”; |修改为| $cfg['blowfish_secret'] = ‘http’;
IV.$cfg['Servers'][$i]['controluser'] = ‘pma’; |把’pma’修改为你的帐号|$cfg['Servers'][$i]['controlpass'] = ‘pmapass’; |把’pmapass设置为你的mysql登录密码|
V. $cfg['blowfish_secret'] = ”; | 添加短语密码例如:$cfg['blowfish_secret'] = ‘onohot’;
下面就来修改文档。
1,查找 $cfg['PmaAbsoluteUri'] 修改为你将上传到空间的phpMyAdmin的网址
例如:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
2,$cfg['Servers'][$i]['host'] = 'localhost';(通常用默认,也有例外,可以不用修改)
3,$cfg['Servers'][$i]['auth_type'] = 'cookie';
在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie ,这里建议使用cookie.
4,$cfg['Servers'][$i]['user'] = 'root'; // MySQL user(mysql用户名,自己机里用root;)
5,$cfg['Servers'][$i]['password'] = ''; // MySQL password (mysql用户的密码,自己的服务器一般都是mysql用户root的密码)
6,$cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only(你只有一个数据就设置一下;如果你在本机或想架设服务器,那么建议留空)
7,$cfg['DefaultLang'] = 'zh';
如果出现“配置文件现在需要绝密的短语密码(blowfish_secret)”那么请在$ cfg['blowfish_secret'] = ' ';的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = '任意字符';这是因为你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。
一切顺利的话,打开http://localhost/phpmyadmin/ 输入用户名和密码就能正常登陆。
3.安装mysql,并设置mysql开机自启动,同时启动mysql
yum install mysqlyum install mysql-serverchkconfig --levels 35 mysqld onservice mysqld start |
4.配置mysql的root密码
mysql_secure_installation |
环境搭建过程中,源码安装PHP最艰辛。需要安装的依赖组件太多。现在整理记录一下。
首先需要安装下面几个安装包,可以在CD-ROM数据源里找到以下安装包yum安装
yum install perl* freetype libpng* libxm2 libxm2-devel curl curl-devel libjpeg*
手动下载安装 jpegsrc.v8c.tar libmcrypt-2.5.8.tar.gz
安装 jpegsrc
# tar -xvzf jpegsrc.v8c.tar
# cd jpeg-8c
# ./configure --prefix=/usr/local/jpeg
# make && make install
安装 libmcrypt
# tar -xvzf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure --prefix-/usr/local/libmcrypt
# make && makeinstall
安装PHP
# tar -xvzf php-5.5.10.tar.gz
# cd php-5.5.10
# ./configure --prefix=/usr/local/php -with-apxs2=/usr/local/httpd/bin/apxs --with-curl --with-mcrypt --with-mbstring
# make && make install
配置Apache支持PHP
修改 /usr/local/apache/conf/httpd.conf文件
在LoadModule项后面加入:
LoadModule php5_module modules/libphp5.so

在<IfModule mime_module></IfModule>之间加入
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
AddHandler application/x-httpd-php .php


重启Apache服务
执行命令 # apachectl restart
测试PHP
在站点根目录下编写探针文件
# vi phpinfo.php
输入:
<?php
phpinfo();
?>

浏览器地址栏输入 http://192.168.23.131/phpinfo.php
显示如下信息:说明PHP安装成功。


浙公网安备 33010602011771号