首先安装基础依赖组建,注:这些依赖组建也是LINUX+PHP+MYSQL+APACHE+NGINX+MEMCACHED时必要的系统组件 
LANG=C

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd* bzip2 bzip2-devel ncurses ncurses-devel net-snmp-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel

下载 php-5.4.8.tar.gz (相应临近版本即可)

#wget  http://cn2.php.net/get/php-5.4.8.tar.gz/from/this/mirror

#tar zxvf  php-5.4.8.tar.gz

#cd php-5.4.8

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --with-freetype-dir --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --enable-session --with-gettext

(./configure 中提示缺少什么依赖组建,yum install 相应组建即可)

编译过程中可能存在类似这样的警告信息:

---------------------------------------------------------------------------------------------------------
    #configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
   解决方法如下:(或者直接无视它,这并不影响php的正常安装运行)

wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
    tar -zxvf re2c-0.13.5.tar.gz
    cd re2c-0.13.5
    ./configure && make && make install

service apache restart 重启APACHE时出现如下错误
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load
/usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

解决方案,执行如下语句 即可

[root@server2 ~]# chcon -t textrel_shlib_t '/usr/local/apache2/modules/libphp5.so'

[root@server2 ~]# service apache restart
[root@server2 ~]# echo $?
0

make(这里可能由于mysql  libmysqlclient.so.18加载失败 二出现点小差错,注意,这仅仅是可能,处理方法如下)

make install(如果提示如下信息,则说明一切顺利,安装成功!)

Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/var/ftp808/php-5.4.8/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
Installing PDO headers:          /usr/local/php/include/php/ext/pdo/

复制源码包里的php.ini-production配置文件到PHP安装目录即(cp /var/ftp808/php-5.4.8/php.ini-production /usr/local/php/lib/php.ini)

注意php新版本此文件名有变更 具体根据版本 实际文件名路径

#cp php.ini-production  /usr/local/php/lib/php.ini

------------------------------

修改apache的配置文件httpd.conf

增加

AddType application/x-httpd-php .php

修改www的默认文件地址DocumentRoot

注意还要修改Directoty的路径和上面的一样

重启httpd

测试php文件

phpinfo()

---------------------------------

执行php文件

#/usr/local/php/bin/php    xx.php

关于灵异事件,在执行make时候提示

类似error while loading shared libraries: libmysqlclient.so.18: cannot open 错误,

这表明libmysqlclient.so.18 没有加载成功,执行下面语句进行手动注册 然后重新编译即可

方法一:
具体根据MYSQL实际安装目录 修改路径
如我的mysql安装在/usr/local/mysql下,则结果为
ldconfig /usr/local/mysql/lib/libmysqlclient.so.18(mysql5.6.12路径格式)
ldconfig /usr/local/mysql/lib/mysql/libmysqlclient.so.18(老版本路径格式)

方法二:
locate libmysqlclient.so.16
如我的mysql安装在/usr/local/mysql下,则结果为
/usr/local/mysql/lib/libmysqlclient.so.18(mysql5.6.12路径)
/usr/local/mysql/lib/mysql/libmysqlclient.so.18(mysql老版本路径)
vi /etc/ld.so.conf
增加一行 /usr/local/mysql/lib
然后执行ldconfig生效。
如果上述方法均不生效,可能你需要方法三:

方法三:
打开/etc/ld.so.conf
include ld.so.conf.d/*.conf
增加
/usr/local/mysql(根据实际安装路径)
/usr/local/mysql/lib(根据实际安装路径,这里是cmake编译下的新版本路径格式,5.X以上旧版本一般为/usr/local/mysql/lib/mysql/)

然后运行ldconfig即可

我的家庭电脑采用的方法一,服务器采用的是方法三,VPS用了方法二

linux下php-5.4.8.tar.gz编译安装全攻略相关推荐

  1. Linux下CD抓轨 创建CUE 压缩为flac全攻略

    在Windows下我们一般都使用EAC把抓轨压缩生成CUE的工作一步搞定了,但是在Linux下会稍微麻烦一点,每一步都需要我们自己做.经过我反复搜索和尝试总结了一套还算不错的方法,用到的软件和过程如下 ...

  2. mysql5.5.8编译安装_Mysql应用linux下mysql 5.5.8 源码编译安装

    <MysqL应用linux下MysqL 5.5.8 源码编译安装>要点: 本文介绍了MysqL应用linux下MysqL 5.5.8 源码编译安装,希望对您有用.如果有疑问,可以联系我们. ...

  3. linux新手入门及安装全攻略(转载)

    入门篇安装篇                   Q:如何制作安装磁盘? 你可以使用两中方法制作安装磁盘.在M$-DOS下,可以使用专门为其开发的rawrite命令(安装光盘/dosutils下),将 ...

  4. php版本中gd什么东西,PHP下GD安装全攻略

    来源:www.cncfan.com | 2006-1-11 | (有1714人读过) 本文旨在介绍PHP下图象处理支持的安装,安装后PHP支持GIF.PNG.JPEG.WBMP 四种格式的图象,PHP ...

  5. linux下玩神武4,《神武4》电脑版攻略:给刚入坑的新手一些经验_ 叶子猪神武

    本人也是新手,大概是玩了2个星期左右,我的TC还在养成中,所以初略的给予一些新人建议. 1.进入神武,创建你的个人单号,根据自己喜爱,不过现在版本玩狮驼的比较多 2.根据新手指引,快速完成新手剧情任务 ...

  6. linux修改mysql的环境变量_Linux环境变量配置全攻略

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

  7. linux debian教程,Debian安装全攻略

    工作需要,重新安装Debian6.06 ,由于Debian 是比较纯洁的系统(相比Ubuntu,呵呵),所以绝大多数都需要手动修改!下面详述新装Debian系统需要做的工作: 一.修改源 # su  ...

  8. wifi软件linux版本,[转载]Wii安装运行可用WIFI的Linux系统全攻略

    Wii运行Linux的优势: 低功耗,Wii玩3D游戏的平均功耗在18W,而运行linux的功耗更低,连续运行50天才耗一度电(甚至不到).如果用Wii来下电驴.如果给wii-linux装上图形界面来 ...

  9. attiny13a程序实例_世界最小的Arduino——ATTiny13上手全攻略1B在Arduino IDE环境下的搭建...

    本帖最后由 幻生幻灭 于 2017-2-15 10:41 编辑 系列教程传送门 世界最小的Arduino--ATTiny13上手全攻略1A简介 世界最小的Arduino--ATTiny13上手全攻略1 ...

最新文章

  1. SpringMVC工作原理详解
  2. 好久没更新了,马上回来,精彩继续
  3. Nginx Mac笔记
  4. 端计算(2)-android studio 的sdk,avd,grade及其它缓存配置
  5. 网络被屏蔽了怎么办_预埋的网线不够长,怎么办?
  6. Matrix响应式软件应用类型博客模板
  7. 4008-基于邻接矩阵的新边的增加(C++,附思路)
  8. 四步奠定SDN部署基石
  9. Angular 自定义分页组件,自定义每页显示个数
  10. RHCSA认证培训+考试七天实录(六)
  11. keras-yolo3遇到的一些注意点与解决思路
  12. dos 命令检索文件
  13. c语言中puts的作用,c语言中puts的用法
  14. Cannot mix different versions of joi schemas
  15. php获取服务器运行时间差,解决php服务器时间差异
  16. BZOJ 4031 HEOI2015 小Z的房间 Matrix-Tree定理
  17. Linux中ifconfig的使用
  18. ios 自定义键盘的按键音效和震动效果
  19. 即将告别--新纪元网站
  20. 在linux上用cifs挂载nas盘

热门文章

  1. 一种数据结构的封装模式
  2. 软考信息系统项目管理师_信息系统综合测试与管理---软考高级之信息系统项目管理师027
  3. 软考信息系统项目管理师_项目整体管理---软考高级之信息系统项目管理师010
  4. 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
  5. AndroidStudio安卓原生开发_Activity的IntentFlag_的第一个值_FLAG_ACTIVITY_NEW_TASK的用法---Android原生开发工作笔记89
  6. 大数据_MapperReduce_Hbase相关面试题_补充说明---Hbase工作笔记0030
  7. 怎么分析linux的内核程序,Linux内核分析(供参考)
  8. 学fpga(流水灯)
  9. LCD液晶显示的51单片机简单计算器
  10. 服务器没权限修改,ftp服务器没有修改权限