热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php扩展和嵌入--如何在linux下配置LAMP环境_PHP教程

php扩展和嵌入--如何在linux下配置LAMP环境。在linux下面,使用源码包编译的方式安装LAMP,可以对内部的编译机制和php的模块加载等方面有更加深入的了解。所谓LAMP指的是LinuxApacheMy
在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 如果输出正常,那么配置就完成了。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/621618.htmlTechArticle在linux下面,使用源码包编译的方式安装LAMP,可以对内部的编译机制和php的模块加载等方面有更加深入的了解。 所谓LAMP指的是LinuxApacheMy...


推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • 本文详细介绍了如何通过JDBC连接Hive进行数据操作,包括Hive服务的启动、相关依赖的配置以及具体代码示例,适合对Hive和JDBC有一定了解的开发者阅读。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
author-avatar
BELLICOSE牛仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有