linux 安装Apache, php并安装php扩展

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: linux 安装Apache, php并安装php扩展 首先安装Apache服务器 1. 下载源码包 http://httpd.apache.org/download.cgi#apache24 2.

linux 安装Apache, php并安装php扩展

首先安装Apache服务器
1. 下载源码包

http://httpd.apache.org/download.cgi#apache24

2. 上传到服务器, 解压

tar zvxf httpd-XX.tar.gz

3. 安装 apr和apr-util(如果已安装,可直接看4)

下载apr与apr-util , 地址 : http://apr.apache.org/

解压 apr , 修改解压好的目录名, 不要带版本号(官网上说的), 进入解压目录,执行

 ./configure    (如果没有改解压目录名, 则需要指定安装路径 --prefix=/xxx/apr) 
   make
   make install 

解压apr-util,修改目录名(去掉版本号),进入解压目录, 执行

cd apr-util
   ls
   ./configure --with-apr=/web/servers/apr(为apr安装路径)

4. 进入到解压目录, 执行命令

./configure --prefix=PREFIX (PREFIX为你要安装的路径)

make

make install

5. 将Apache安装为服务

找到安装目录下的 apachectl , 拷贝到init.d下

cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd

在init.d的httpd链接文件中第2行添加如下注释,并wq保存退出

#chkconfig:35 61 61
#description:Apache

此时可以使用 service httpd start 开启 apache 服务器, 使用 chkconfig --list 可以查看服务列表

6. 简单配置 httpd.conf 文件

Listen 8080 修改为自己需要监听的端口

LoadModule php5_module modules/libphp5.so 加上对php的支持, 如果安装的时候没有配置的话, 现在手动加上

 AllowOverride None 改为  AllowOverride All (所有的,虽然不知道为什么,ps:我是小白),

加上下面两句(当时忘了加了, 结果访问的时候直接将php文件给下载下来了)

       AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps



安装 PHP
1. 下载源码包 http://php.net/downloads.php
2. 上传到服务器, 解压
3. 安装 libxml2 (因为执行下一步的时候报错)
yum install libxml2
yum install libxml2-devel
4. 配置
./configure --prefix=/web/php/php5.6/ --with-apxs2=/web/servers/apache24/bin/apxs
两个参数分别是php的安装路径和apache安装路径

5. 简单修改 php.ini

将源码包下的 php.ini-development 拷贝到安装路径下的 lib 目录下, 并改名为 php.ini

配置参数可以参考网上的




安装php扩展
因为安装php的时候没有指定任何扩展, 只能手动安装了
先安装 curl(因为我在windows下被他折磨的最惨, 当时第一次接触php)

1. 进入到php源码目录下的ext, 里面都是扩展

2. 进入curl目录

cd curl/

/web/php/php5.6/bin/phpize (此路径是安装路径, 跟源码路径不是一个)

./configure --with-php-config=/web/php/php5.6/bin/php-config (报错, 需要安装curl-devel)

yum install curl curl-devel

再执行上面的两条命令 , 就会发现在安装路径下的lib目录下多了extensions/no-debug-zts-20131226/curl.so., 再配置一下php.ini就可以了



本以为其他扩展也一样手到擒来, 结果现实是骨感的, 安装mysql扩展的时候直接把我整崩溃了

在mysql/目录下执行上面类似的命令时, 报错了, 具体错不说了, 反正就是error, 然后在网上找到说安装mysql扩展需要用到mysql数据库, 需要这样写命令

./configure --with-php-config=/web/php/php5.6/bin/php-config --with-mysql=/usr/lib/mysql/ 后面的是mysql的安装路径

但是还是报错, 说是Cannot find MySQL header files under /usr/include/m, 然后就是疯狂的找资料, 最后有人说需要安装mysql开发包, 因为之前服务器上用yum装过mysql(我是做java的), 就按照网上的试了试



yum install php-mysql

执行上面的命令, 还是报上面的错, 不知道什么原因, 后来一发狠, 你不是在lib下找不到吗, 我直接给你写到上级目录, 然后执行, 发现生成了mysql.so文件, 莫名其妙啊

./configure --with-php-config=/web/php/php5.6/bin/php-config --with-mysql=/usr

make

make install





本以为mysql扩展都成功了, mysqli应该一样, 结果又出幺蛾子了, 安装的时候先是跟安装mysql扩展一样的命令, 结果报错, 在网上找说是要用mysql-config

就用了 find / -name mysql_config, 找到了路径

执行

phpize

./configure --with-php-config=/web/php/php5.6/bin/php-config --with-mysqli=/usr/lib/mysql/mysql_config 

make 

结果出现了 找不到 ext/mysqlnd/mysql_float_to_double.h, 然后就去源码包去找, 纳尼, 竟然找到了, 还说没有, 但是就是报错, 得, 你是大爷,接着找解决方法, 突然想到执行命令是在mysqli, 会不会是以此为根目录的, 然后我就把源码包的文件目录结构在mysqli里又建了一遍, mysqli/ext/mysqlnd/mysql_float_to_double.h,

然后执行

phpize

./configure --with-php-config=/web/php/php5.6/bin/php-config --with-mysqli=/usr/lib/mysql/mysql_config 

make 

make install

苍天啊, 大地啊, phpinfo()终于打印出来了



安装 pdo_mysql 扩展的时候要加上 --with-pdo-mysql=/usr



至此, 算是告一段落
--------------------- 
作者:java-北京-菜鸟 
来源:CSDN 
版权声明:本文为博主原创文章,转载请附上博文链接!
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
101
分享
相关文章
|
2天前
|
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
43 27
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
45 10
|
7天前
|
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
43 1
|
15天前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
58 6
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
116 21
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
103 23
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
29天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
77 0
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
238 5
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等