Linux下apache安装php
php
1.下载解压
1 2 3 4 5 6 7 | cd /usr/local/src wget http: //mirrors.sohu.com/php/php-5.6.9.tar.gz tar zxvf php-5.6.9.tar.gz cd php-5.6.9 |
2.编译安装
1 | ./configure --with-apr=/usr/local/apr --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-libxml-dir --with-gd --with-jpeg-dir <br>--with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-mcrypt --with-openssl --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 编译来至(全)http: //blog.csdn.net/godmatrix/article/details/5969558 ./configure \ 配置,安装 --with-apr=/usr/local/apr \ 指定apr代码的目录 --prefix=/usr/local/php \ 指定php安装目录. --with-apxs2=/usr/local/apache2/bin/apxs \ 让Apache服务器能够支持PHP。整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块 --with-config-file-path=/usr/local/php/etc \ 指定php.ini配置文件的位置 --with-mysql=/usr/local/mysql \ MySQL安装的目录,对mysql的支持 --with-libxml-dir \ 打开对libxml2库的支持 --with-gd \ 打开对gd库的支持 --with-jpeg-dir \ --with-png-dir \ 打开对jpeg图片和png图片的支持 --with-freetype-dir \ 打开对freetype字体库的支持 --with-iconv-dir \ 打开对iconv函数库,种字符集间的转换 --with-zlib-dir \ 打开对zlib库的支持 --with-bz2 \ 打开对bz2文件的支持 --with-openssl \ 打开openssl的支持,加密传输时用到的 --with-mcrypt \ 算法,mhash和mcrypt都是算法的扩展 --enable-soap \ 打开soap的支持 --enable-gd-native-ttf \ 支持True Type 字符串 函数库 --enable-mbstring \ 多字节,字符串的支持 --enable-sockets \ 打开sockets支持 --enable-exif \ 图片的元数据支持 --disable-ipv6 不支持ipv6 |
错误1
1 2 3 4 5 6 7 | configure: error: xml2-config not found. Please check your libxml2 installation. 配置:错误:xml2-config不见了。请检查你的libxml2安装。 解决: yum install libxml2 libxml2-devel -y |
错误2
1 2 3 4 5 6 7 | configure: error: Cannot find OpenSSL’s <evp.h> 配置:错误:找不到OpenSSL的< evp.h > 解决: yum install openssl openssl-devel -y |
错误3
1 2 3 4 5 6 7 | Configure: error: Please reinstall the BZip2 distribution 配置:错误:请重新安装BZip2分布 解决: yum install bzip2 bzip2-devel -y |
错误4
1 2 3 4 5 6 7 | configure: error: jpeglib.h not found. 配置:错误:jpeglib。没有找到。 解决: yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y |
错误5
1 2 3 4 5 6 7 8 9 10 11 | Configure: error: mcrypt.h not found. Please reinstall libmcrypt. 配置:错误:mcrypt。没有找到。请重新安装libmcrypt。 解决: 安装epel-release源 yum install epel-release -y yum install libmcrypt-devel -y |
最后执行
1 2 3 | make make install |
3.拷贝PHP主配置文件
1 | cp php.ini-production /usr/local/etc/php.ini |
4.修改apache的配置文件,使apache支持解析php
1 2 3 4 5 | vim /usr/local/apache2/conf/httpd.conf1.找到 #ServerName www.example.com:80 改为ServerName www.example.com:802.找到 <br><br><Directory /> AllowOverride none Require all denied </Directory> <br><br>改为 <br><br><Directory /> Options FollowSymLinks AllowOverride none Order deny,allow Allow from all </Directory> <br><br>3.找到<br><br><IfModule dir_module><br> DirectoryIndex index.html <br></IfModule> <br><br>改为<br><br><IfModule dir_module><br> DirectoryIndex index.html index.php <br></IfModule> <br><br>4.找到<br><br>AddType application/x-compress .Z <br>AddType application/x-gzip .gz .tgz<br><br>改为<br><br>AddType application/x-compress .Z <br>AddType application/x-gzip .gz .tgz <br>AddType application/x-httpd-php .php <br><br>注:<br>1.ServerName www.example.com:80 打开服务器占用80端口 <br>2.Allow from all 允许访问web内容目录 <br>3.DirectoryIndex index.html index.php 目录索引支持php <br>4. AddType application/x-httpd-php .php 应用类型支持php |
5.检查配置文件是否错误
1 | /usr/local/apache2/bin/apachectl -t |
6.启动apache服务
1 | /usr/local/apache2/bin/apachectl start |
7.查看进程
1 | ps aux |grep httpd |
8.关闭防火墙。
永久关闭SElinux,重启生效。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | vim /etc/selinux/config找到 SELINUX=enforcing 改为 SELINUX=disabled 临时关闭 setenforce 0 getenforce 查看当前SElinux防火墙状态 setenforce 0 是临时关闭 setenforce 1 是临时打开 # enforcing - SELinux security policy is enforced.打开 # permissive - SELinux prints warnings instead of enforcing.打开不拦截 # disabled - No SELinux policy is loaded.关闭,默认 |
9.清空iptables规则
1 2 3 | iptables -F service iptables save |
10.浏览器访问IP
是否显示 it works!显示说明成功。
11.测试解析php
1 | cd /usr/local/apache2/htdocs |
php主配置文件vim /usr/local/apache2/conf/httpd.conf指定的文档根目录的路径DocumentRoot"/usr/local/apache2/htdocs"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | touch 1.txt echo 'qqqqq' >> 1.txt http: //192.168.1.116/1.txt vim 2.php <?php phpinfo(); ?> http: //192.168.1.116/2.php |
保存镜像4.备注php安装ok
php安装成功
如果Loaded Configuration File等于none;
先确定Configuration File (php.ini) Path的地址,此处为/usr/local/php/etc;
#find /usr -name 'php.ini'
#cp 查找到的php.ini路径 /usr/local/php/etc
vim /usr/local/apache2/conf/httpd.conf
php安装包:链接:http://pan.baidu.com/s/1nvbrFJF 密码:sy20
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!