言归正传,开始安装系统。
1,准备工作,首先要下载所需软件的源码包,有如下这些:
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
pcre-8.36.tar.gz
httpd-2.4.17.tar.gz
php-5.6.15.tar.gz
把所有的源码包上传到服务器上。
2,安装Apache2.4
首先要安装Apache的依赖库
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
pcre-8.36.tar.gz
tar zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
tar zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
安装PCRE的时候遇到如下错误:
You need a C++ compiler for C++ support
解决方案是:
yum install -y gcc gcc-c++
注意:这个-y千万不能少。
可以开始安装Apache了,
解压缩
cd httpd-2.4.17
./configure --prefix=/usr/local/Apache2 --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so--enable-rewrite
make && make install
注意:之前安装的时候从windows上复制的./configure配置参数,结果中间不知为何多出来一些换行符,导致运行结果出错了,所以大家拷贝指令的时候一定要小心。
2,安装PHP5.6.15
解压缩
Cd php-5.6.15
配置参数太复杂于是去网上找了一个大牛的推荐,如下:
./configure --prefix=/usr/local/php--with-apxs2=/usr/local/Apache2/bin/apxs --with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/Apache2/conf --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd--enable-gd-native-ttf --with-zlib --with-mcrypt--with-pdo-mysql=/usr/local/mysql --enable-shmop --enable-soap --enable-sockets--enable-wddx --enable-zip --with-xmlrpc --enable-fpm --enable-mbstring--with-zlib-dir --with-bz2 --with-curl --enable-exif --enable-ftp--with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr/lib/
于是乎遇到了一系列的报错,推荐我之前的一篇文章介绍了常见错误的解决办法:
http://blog.csdn.net/dodott/article/details/49664379
我遇到的问题如下:
【报错】Configure: error: Please reinstall the BZip2 distribution
解决方案:
centos: yum install bzip2 bzip2-devel
debian: apt-get install bzip2-devel
【报错】
configure: error: Please reinstall the libcurl distribution -
easy.h should be in
解决方案:
centos: yum install curl curl-devel (For Redhat & Fedora)
【报错】
configure: error: mcrypt.h not found. Please reinstalllibmcrypt.
解决方案:
网上大部分给的方法是使用如下指令
yum install libmcrypt libmcrypt-devel (For Redhat & Fedora)
但是基本上都没有作用,系统甚至会提示:nothing to do。估计可能和YUM源的软件版本太低有关系。
正确做法是自己下载源码来安装:
libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
#编译(默认安装到/usr/local/lib/)
./configure --prefix=/usr/local/libmcrypt
#执行安装
make && make install
注意:这里的安装路径要记住,等会安装PHP的时候会用到。
继续回到PHP的安装,此时的配置参数修改为:
./configure --prefix=/usr/local/php--with-apxs2=/usr/local/Apache2/bin/apxs --with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/Apache2/conf --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd --enable-gd-native-ttf--with-zlib --with-pdo-mysql=/usr/local/mysql --enable-shmop --enable-soap--enable-sockets --enable-wddx --enable-zip --with-xmlrpc --enable-fpm--enable-mbstring --with-zlib-dir --with-bz2 --with-curl --enable-exif--enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/ --with-mcrypt=/usr/local/libmcrypt
修改内容是:
去掉了--with-mcrypt,在最后增加了--with-mcrypt=/usr/local/libmcrypt
【报错】
configure: error: Cannot find MySQL header files under/usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
这个问题是因为没有安装mysql,所以找不到mysql的运行库。
但是本次安装本身就不想安装完整的mysql软件,去php官网查了资料后找到如下一段翻译文字:
“对于 php-5.3.0或更新版本,mysqli 默认使用Mysql Native Driver作为驱动。 这个驱动比libmysql会有一些优势, --with-mysql=mysqlnd”
最终configure参数修改为:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/Apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/Apache2/conf--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd --enable-gd-native-ttf--with-zlib --with-pdo-mysql=mysqlnd --enable-shmop --enable-soap--enable-sockets --enable-wddx --enable-zip --with-xmlrpc --enable-fpm--enable-mbstring --with-zlib-dir --with-bz2 --with-curl --enable-exif--enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/ --with-mcrypt=/usr/local/libmcrypt
注意:上面红色标记出来的目录就是后面php.ini需要放置的目录。
到此终于把PHP的configure成功通过。
make 和 makeinstall。PHP安装完毕。
3,修改PHP的配置文件php.ini
进入php源码目录,选择php.ini-development复制一份到/usr/local/Apache2/conf,并改名为php.ini使用vi打开,查找extension_dir,修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226",读者根据自己的PHP安装目录结构配置,目的是找到PHP的扩展库。
查找extension=php_,去掉extension=php_curl.dll,extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mysql.dll,extension=php_mysqli.dll,extension=php_pdo_mysql.dll,extension=php_xmlrpc.dll前面 的分号。查找short_open_tag = Off把它修改成short_open_tag = On,让其支持短标签(我看注释这个默认是打开的)。
从别人的服务器上我还拷贝了如下文件放到
/usr/local/php/lib/php/extensions/no-debug-zts-20131226目录,
文件如下:
Imap.so
Mcrypt.so
Memcache.so
Openssl.so
Zip.so
然后在php.ini的最后增加如下配置文字:
extension=memcache.so
extension=openssl.so
extension=mcrypt.so
extension=zip.so
4,修改Apache配置文件httpd.conf相关修改以支持PHP
vi /usr/local/Apache/conf/httpd.conf
? 添加php支持。
【添加字段一】
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
【添加字段二】
SetHandler application/x-httpd-php
? 添加默认索引页面index.php,再找到“DirectoryIndex”,在index.html后面加上“ index.php”
DirectoryIndex index.html index.php
? 3. 不显示目录结构,找到“OptionsIndexes FollowSymLinks”,修改为
Options FollowSymLinks
? 4. 开启Apache支持伪静态,找到“AllowOverride None”,修改为
AllowOverride All
重启Apache
service httpd restart
提醒:实在不知道怎么配置,就找个已经搭建成功的服务器把配置文件弄过来对比一下。
此时还会遇到如下报错:
httpd: Could not reliably determine the server's fully qualified domain name
解决办法:
linux : /usr/local/Apache/conf
用记事本打开httpd.conf
将里面的#ServerName localhost:80注释去掉即可。
到此,整个Apache+PHP5.6的环境搭建完毕。
推荐文章:
PHP的编译安装
以上就介绍了CentOS65下安装Apache24+PHP56,包括了Apache,准备工作,索引,安装Apache方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

Fibers在PHP8.1中引入,提升了并发处理能力。1)Fibers是一种轻量级的并发模型,类似于协程。2)它们允许开发者手动控制任务的执行流,适合处理I/O密集型任务。3)使用Fibers可以编写更高效、响应性更强的代码。

PHP社区提供了丰富的资源和支持,帮助开发者成长。1)资源包括官方文档、教程、博客和开源项目如Laravel和Symfony。2)支持可以通过StackOverflow、Reddit和Slack频道获得。3)开发动态可以通过关注RFC了解。4)融入社区可以通过积极参与、贡献代码和学习分享来实现。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能