Oj大致搞好了,但是编译php的时候有莫名其妙的错误,”./”居然不在文件所在目录,而是跑到home下面了,实在是不能忍。user_dirinclude_dir setincludepath 等等方法全都无效,后来看到有人说是版本的问题,php5.3的问题。于是决定升级。

Ubuntu自带php5.3和apache2.4.6,首先要卸载了。

先根据dpkg-l找到相应的包,然后再一个个删除,不要手软。

喜欢用remove命令删除的,可以参考这个页面。

blog.csdn.net/guojing880208/article/details/6592772

要注意的是apache一定要卸载干净,否则新的安装的时候是不会默认覆盖的,于是后面安装php时候,就会怎么也安装不上libphp5.so。

首先编译安装apache2.4.7,到官网上下载下来包。解压,进入文件夹。

容易出现的问题是发现没有apr和apr-uti,参考官网给出的步骤。

进入目录后

./configure --prefix=/usr/local/apr

make

make install

然后安装apr-until,下载解压,进入目录。configure的时候,注意要指定apr的路径。

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

make

make install

然后进入apache的文件夹。注意指定apr和apr-net的路径,否则会出错。

./configure --prefix=/usr/local/apache2  --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util/

make

make install

参考网页

编译安装后,要注意的重要问题是配置文件的位置问题。和普通安装的不同,有效的httpd.conf再apr目录的conf下面。配置apache/conf下面的httpd.conf是没有效果的。这一点很关键。

进入apache主目录下面的bin,看是否可以启动服务器。

apachectl start

如果可以再浏览器输入locahost后看到Itworks,说明配置成功。

每次启动都要进入这个目录实在麻烦,所以

sudo cp bin/apachectl /etc/init.d/apache

如果做连接文件也是可以的。

为了随时查看版本号

sudo ln -s /usr/local/apache2/bin/httpd apache

让apache每次开机启动,首先进入/etc/rcS.d

sudo ln -s ../init.d/apache S90apache2

考建立开机启动的页面

然后安装PHP

首先下载php5.5.9,解压后,进入目录。

需要安装libxml2

sudo apt-get install libxml2libxml2-dev

./configure 有很多参数,参考

./configure

--prefix=/usr   #安装位置

--sysconfdir=/etc    #系统配置文件存放位置

--with-config-file-path=/etc    #配置文件路径

--without-pear    #不安装pera扩展包

--enable-fpm    #能够使用fpm模式,nginx必须

--with-fpm-user=www-data    #fpm用户,和nginx的用户一致

--with-fpm-group=www-data    #fpm用户组,和nginx使用组一致

--enable-opcache   #使用php内置opcache缓存

--enable-mbstring    #可以使用mbstring相关函数

--enable-mbregex    #可以使用mbregex正则

--without-pdo-sqlite    #不安装pdo-sqlite扩展

--with-mysql-sock=/var/run/mysqld/mysqld.sock    #指定mysql的sock位置

--with-mysql=mysqlnd    #支持mysql相关扩展

--with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd

--with-openssl    #支持https

--with-curl    #curl相关

--with-zlib    #zlib压缩

--enable-zip    #支持zip压缩

--with-gd    #安装gd库

--with-freetype-dir

--with-jpeg-dir

--with-png-dir

--with-mcrypt    #能够使用mcrpt加密库

--enable-sockets     #支持sockets

-with-xmlrpc     #支持xml解析

--enable-soap

我得安装命令是

sudo ./configure --prefix=/usr --sysconfdir=/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc

--without-pear --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-opcache --enable-mbstring

--enable-mbregex --without-pdo-sqlite --with-mysql-sock=/run/mysqld/mysqld.sock --with-mysql=mysqlnd --with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd --with-openssl --with-zlib --enable-zip --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir

--with-mcrypt --enable-sockets --with-xmlrpc --enable-soap -enable-mbstring=all

注意你的mysql的路径,如果需要的话,如果不需要,直接删掉上面有关mysql的选项即可。因为几次没有安装上libphp5.so,所以指定了--with-apxs2=/usr/local/apache2/bin/apxs。可以通过find命令查找apxs的位置,如果没有,说明apache安装的不好。

然后

make

make install

与以往版本不同,这个的编译命令不再是php而是php-fpm。

安装过程中,如果是有

/usr/local/src/php-5.4.3/ext/standard/info.c:874: undefined reference to `executor_globals_id'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] 错误 1

是由于使用不同参数重复编译所致,makeclean即可。

如果不能解析php,再httpd.conf后面加入

AddType application/x-httpd-php .php .php3 .php4 .html

LoadModule php5_module /usr/local/apache2/modules/libphp5.so

PHPIniDir /etc/php.ini

AddDefaultCharset UTF-8 #解决mysql乱码

此时就应该可以通过phpinfo看到熟悉的页面了。

php 5.5.9安装,php5.5.9+apache2.4.7 编译安装相关推荐

  1. ubuntu11.10 源码编译安装php5.3.8,Ubuntu 11.10编译安装Nginx、PHP 5.3.8、MySQL、MongoDB、Memcached、SSL、SMTP...

    手动安装php mongo扩展 sudo apt-get install autoconf wget http://pecl.php.net/get/mongo-1.2.6.tgz tar -zxvf ...

  2. mysql编译安装root密码_MySQL 5.7.11编译安装以及修改root密码小结

    系统是CentOS 6.7 64位的,默认MySQL5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,MySQL数据放置目录/app/local/dat ...

  3. Apache2.4.1编译安装报错解决

    Apache HTTP Server(HTTPD)2.4.1,这个版本是新一代的2.4分支的首个正式版本. Apache HTTP Server项目团队称,这是最新的.也是最好的一个版本,添加了许多新 ...

  4. windows安装PHP5.4.8+Apache2.4.3+Mysql5.5.28

    最近听说PHP5.4速度很快,所以想建立一个本地环境测试下.我打算用本地windows xp sp3下安装PHP5.4.8.Apache2.4.3和Mysql5.5.28. 首先去下载PHP.Apac ...

  5. centos lnmp源码安装mysql_CentOS 6.6 下源码编译安装MySQL 5.7.5

    说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl \ ...

  6. linux安装nginx源码,CentOS7源码编译安装Nginx

    一.安装步骤 1.下载 nginx 源码包 官网$ wget http://nginx.org/download/nginx-1.16.0.tar.gz 2.解压 nginx 压缩包$ tar -zx ...

  7. 编译安装mysql5.6.16_CentOS 6.4下编译安装MySQL 5.6.16

    一.卸载旧版本号MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强 ...

  8. mysql 5.7源码包安装教程_MYSQL5.7源码包编译安装

    Centos下用cmake编译安装MySQL 5.7 安装依赖包 yum -y install gcc gcc-c++ ncurses ncurses-devel cmake 下载相应源码包 cd / ...

  9. centos6.8安装php7.3,CentOS7.6源码编译安装PHP 7.3.8

    安装步骤 1. 使用wget命令下载源码安装包 wget https://www.php.net/distributions/php-7.3.8.tar.gz --no-check-certifica ...

  10. lnmp的编译安装mysql_LNMP环境搭建(二) 编译安装MySQL

    编译安装MySQL 1. 创建组和用户 >groupadd Mysql >useradd -g Mysql Mysql 2. 解压源码包并进入 >tar zxvf Mysql-5.5 ...

最新文章

  1. 终于有人把 SpringBoot 项目的Http客户端工具说清楚了!
  2. if...else if switch分支结构
  3. spoj 8222 Substrings (后缀自动机)
  4. Oracle学习:分组数据(group by)与笛卡尔积
  5. drools6.5_Drools 6.5.0.Final可用
  6. getdate 日期间隔_日期getDate()方法以及JavaScript中的示例
  7. ionic3 html调用摄像头,ionic3懒加载中使用自定义组件component
  8. 修改拦截器里的请求头_OkHttp4 源码分析(1) 请求流程分析
  9. 推导余弦距离和欧式距离的关系
  10. 【开源】有手就能做的街机游戏
  11. bzoj1488 图的同构
  12. 面试拆解:系统上线后Cpu使用率飙升如何排查?
  13. 浅谈 Kafka Leader Epoch
  14. 【周赛-简单】5495. 圆形赛道上经过次数最多的扇区
  15. 给Ubuntu18.04/Nvidia nano永久分配swap空间
  16. [附源码]Python计算机毕业设计大学生校园社团管理系统Django(程序+LW)
  17. 局域网中另外一台服务器的内存_工作中遇到的技术名词
  18. 画数轴的步骤_中考数学知识点复习:画数轴的步骤
  19. vue中的方法 methods 定义时不要使用箭头函数
  20. uboot分区和内核MTD分区

热门文章

  1. 做添加页面判断用户是否全部填写输入框
  2. 【Shell Basic】source . 与 bash sh 的区别
  3. Linux 下子线程 exit code 在主线程中的使用
  4. textarea文本域
  5. GRIDVIEW 中当数据行数未满时,填充空白行
  6. Netty之Pipeline总结
  7. MyCat基于MySQL实现读写分离
  8. spring扩展点二:自定义beanPostProcessor原理解析
  9. spring中这些开发技巧真的太diao了
  10. RocketMQ之消费者顺序消费源码解析