在linux下面,使用源码包编译的方式安装LAMP,可以对内部的编译机制和php的模块加载等方面有更加深入的了解。
所谓LAMP指的是Linux+Apache+Mysql+Php,这些软件安装完毕了之后,就算是成功搭建了进行php开发的环境了。
首先则是要下载源码包:
apache:wget http://apache.dataguru.cn//httpd/httpd-2.4.7.tar.bz2mysql:直接用apt-get安装好了,这个源码新版本的比较难找。php:wget http://cn2.php.net/distributions/php-5.5.7.tar.bz2 下载完了源码包之后,要进行解压缩,基本的解压缩命令如下: http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html针对.tar.bz2就是 tar jxvf 针对.tar.gz 就是tar zxvf
1 安装mysql
首先说安装mysql。因为对于mysql来说,源码包比较难找,其实也没必要通过编译的方式安装。所以最方便的方式就是直接使用apt-get的安装方式。 sudo apt-get install mysql-client sudo apt-get install mysql-server 按照提示操作了之后,就完成了安装的大部分。在提示中要求设定用户名和密码,这个是连接数据库主要所需要的参数。 接下来就用这个命令进行一下检测: mysql -uusername -ppassword 把username和password换成本来设置的值,然后看一下mysql是否安装成功了。 正常情况下mysql应该是被注册为linux的服务了。可以通过如下命令察看一下: chkconfig --list 查看所有已注册的服务。
2 安装apache
安装apache的时候,首先解压缩并且进入源码目录: tar jxvf apache-version.tar.bz2 cd apache-version/
然后对apache进行配置: ./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&
这里给出的prefix参数代表安装的目录。htdocsdir参数代表apache服务器的localhost文件位置。enable-module参数则启动和so和rewrite两个模块。so是用来提供DSO支持的apache核心模块。rewrite是实现地址重写的模块。像这些模块都是不能动态的加载进去的,以后需要的话还得重新编译源码,所以推荐都加载进去。 enable-shared=max参数是指定把so以外所有的apache标准模块都编译成DSO模块,而不是apache核心内。 然后就开始: make make install
接下来需要把apache设定为linux的服务: 首先复制启动文件到服务目录下: cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
然后打开服务文件: vim /etc/init.d/httpd
在#!/bin/sh 后面加上下面两行: #chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.
chkconfig:后面定义的使启动服务的运行级别(例子中使2345启动改服务),以及关闭和启动服务的顺序,(上例中关闭服务的顺序使8,启动的顺序使92)
descriptions:对改服务的描述
接下来更改文件的执行权限,并且增加服务: chmod +x /etc/rc.d/init.d/httpd
chkconfig –add httpd
这样对apache的配置就完成了。
注意:在apache配置的时候可能会出现出现缺包的情况,我之前碰到的是zlib,可以通过下载zlib的源码包,并且同样进行配置安装的形式,在配置的时候可以指定安装目录,比如是/usr/local/zlib 那么再次配置apahce的时候就要加上 --with-zlib=/usr/loca/zlib 来把这个依赖添加上。 别的包也是同样的道理。
3 php安装
同样要执行解压缩和进入目录的操作。 接下来是配置的过程: ./configure --prefix=[php安装目录] --with-config-file-path=[php安装目录] --with-apxs2=[apache安装目录]/bin/apxs --with-mysql=[mysql安装目录] --enable-debug --enable-maintainer-zts
如果还想要添加别的库的话,就用--with-库名=[库安装目录] --enable-debug参数会在出错的时候输出很多有用的信息,从而快速定位错误。 而-enable-maintainer-zts则会让PHP思考在多线程环境中的行为,并且可以让你捕获常见的程序错误,这些错误在非线程环境中不会引起问题,但在多线程环境中却使你的扩展变得不可用。 接下来进入 make make install 常见的错误可以看下面这个链接: http://lyp.cn/350_how-to-fix-php-compile-errors
如果没有yum包的话,找到相应的apt-get包也ok的。
接下来在apache中进行配置: vim /usr/local/apache/conf/httpd.conf 然后在AddType中添加: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
在DirectoryIndex增加 index.php,以便Apache识别PHP格式的index
DirectoryIndex index.html index.php
重启apache服务使更改生效: sudo /etc/init.d/httpd restart
再之后,要拷贝php的配置文件: cp ../php-5.2.10/php.ini.dist /usr/local/php/lib/php.ini
然后就可以进行验证了,在网络文件夹下建立info.php: 接着打开浏览器,输入localhost/info.php 如果输出正常,那么配置就完成了。

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。

PHP在过去几十年中塑造了网络,并将继续在Web开发中扮演重要角色。1)PHP起源于1994年,因其易用性和与MySQL的无缝集成成为开发者首选。2)其核心功能包括生成动态内容和与数据库的集成,使得网站能够实时更新和个性化展示。3)PHP的广泛应用和生态系统推动了其长期影响,但也面临版本更新和安全性挑战。4)近年来的性能改进,如PHP7的发布,使其能与现代语言竞争。5)未来,PHP需应对容器化、微服务等新挑战,但其灵活性和活跃社区使其具备适应能力。

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。

PHP没有死。1)PHP社区积极解决性能和安全问题,PHP7.x提升了性能。2)PHP适合现代Web开发,广泛用于大型网站。3)PHP易学且服务器表现出色,但类型系统不如静态语言严格。4)PHP在内容管理和电商领域仍重要,生态系统不断进化。5)通过OPcache和APC等优化性能,使用OOP和设计模式提升代码质量。

PHP和Python各有优劣,选择取决于项目需求。1)PHP适合Web开发,易学,社区资源丰富,但语法不够现代,性能和安全性需注意。2)Python适用于数据科学和机器学习,语法简洁,易学,但执行速度和内存管理有瓶颈。

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境