Cet article explique la configuration d'un environnement PHP dans un système Linux. Puisque PHP est écrit en langage C et exécuté à l'origine sur un système Linux, Linux est le meilleur environnement pour PHP.
L'auteur de cet article a testé CentOS 5.5 installé sur une machine virtuelle (VMware). Instructions d'installation détaillées ci-dessous
1. Préparation
1. Veuillez d'abord confirmer si le système Linux que vous installez a été installé Apache , MySQL et PHP sont installés. S'ils sont installés, veuillez d'abord les désinstaller.
Vérifiez s'il est installé (Apache est un exemple)
[root@gamejzy Linux]# rpm -qa|grep httpd
Remarque : rpm -qa sert à vérifier tous les logiciels installés sur la machine. grep httpd consiste à filtrer les logiciels liés à httpd (Apache). Remarque : grep php doit afficher PHP ; grep mysql doit afficher MySQL
Si rien n'apparaît après l'exécution de la commande, cela signifie que le logiciel Apache n'est pas installé sur la machine. Si quelque chose comme ce qui suit apparaît, cela signifie. signifie qu'il a été installé.
Si le résultat est comme indiqué dans l'image ci-dessus, vous devez alors désinstaller les trois logiciels.
La commande de désinstallation est la suivante :
[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps
Remarque : --nodeps est une désinstallation forcée
2. Veuillez vous assurer que gcc et g sont installés dans votre compilateur système Linux
Vérifier s'il est installé est très simple Tapez "gc" ou "g" dans la ligne de commande, appuyez sur la touche de tabulation et voyez s'il y a une commande affichée ci-dessous. .
Peu importe si vous ne l'avez pas, la méthode d'installation de gcc et g est très simple
Installez gcc :
yum -y install gcc
Installez g :
yum install gcc-c++
3. Copiez tous les packages logiciels (principalement des packages tar) dans /tmp/lamp et décompressez la commande tar.gz (logiciel php par exemple) :tar zxvf php. -5.2.6.tar.gz
Après avoir exécuté cette commande, un dossier php-5.2.6 sera créé dans le répertoire courant, et tous les fichiers décompressés seront placés dans le répertoire php-5.2 Dossier .6
La commande ci-dessus supprime tous les fichiers .gz
[root@gamejzy lamp]# rm -rf *.gz
4. Introduction à la compilation et à l'installation des progiciels
Le processus d'installation de chaque progiciel de code source dans le système Linux est le suivant :
△ Configurer (configurer) △ Compiler (make) △ Installer (make install) 2. Créez un environnement LAMP (veuillez suivre les instructions ci-dessous Installez dans l'ordre )Tous les logiciels ici sont installés sous /usr/local
1 Installer libxml
Installation. séquence : 1. Entrez le répertoire libxml ; 2. Paramètres de configuration (y compris le chemin d'installation ; logiciels dépendants ; fonctions d'installation, etc.) ; Remarque : L'installation de tous les progiciels est similaire à
./configure est la commande de paramètre pour configurer le progiciel --prefix indique le répertoire d'installation spécifié s'il est automatiquement créé. n'existent pas. Certains d'entre eux n'existeront pas. Nous avons besoin de créer manuellement
[root@gamejzy lamp]# cd libxml2-2.6.30/ [root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
La commande ci-dessus consiste à exécuter la compilation et l'installation ensemble. Étant donné que le logiciel est petit, la vitesse d'installation est relativement rapide pour les gros logiciels. , cela peut prendre plus de temps.
[root@gamejzy libxml2-2.6.30]# make && make install
2. Installez libmcrypt
3. Installez zlib
[root@gamejzy lamp]# cd libmcrypt-2.5.8/ [root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt [root@gamejzy libmcrypt-2.5.8]# make && make install
./configure Ne suivez pas . Paramètre --prefix pour l'installer dans le répertoire par défaut, car zlib sera utilisé lors de l'installation de libpng.
[root@gamejzy lamp]# cd zlib-1.2.3/ [root@gamejzy zlib-1.2.3]# ./configure [root@gamejzy zlib-1.2.3]# make && make install
4. Installez libpng
5. Installez jpeg6
[root@gamejzy lamp]# cd libpng-1.2.31/ [root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng [root@gamejzy libpng-1.2.31]# make && make install
Ce logiciel ne sera pas automatiquement créé lors de la configuration. Annuaire, nous devons créer manuellement
et la génération de l'annuaire est terminée !
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include [root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1
./configure description du paramètre :
[root@gamejzy lamp]# cd jpeg-6b/ [root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static [root@gamejzy jpeg-6b]# make && make install
6. Installez freetype
7. Installez le logiciel autoconf
[root@gamejzy lamp]# cd freetype-2.3.5/ [root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype [root@gamejzy freetype-2.3.5]# make && make install
Installez directement dans le répertoire par défaut.
[root@gamejzy lamp]# cd autoconf-2.61/ [root@gamejzy autoconf-2.61]# ./configure [root@gamejzy autoconf-2.61]# make && make install
8. Installez GD
./configure la description du paramètre :
[root@gamejzy lamp]# cd gd-2.0.35/ [root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ [root@gamejzy gd-2.0.35]# make && make install
--with-png=/usr/local/libpng/ Spécifiez où trouver l'emplacement du fichier de la bibliothèque png
--with-freetype=/usr/ local /freetype/ Spécifie où trouver l'emplacement de la bibliothèque de polices freetype 2.xLes erreurs suivantes peuvent se produire lors de l'installation de ce package, comme indiqué dans la figure ci-dessous :
Si une telle erreur se produit, la solution :
Trouver le mot-clé "png.h" commande : /png. h et appuyez sur Entrée
[root@gamejzy gd-2.0.35]# vi gd_png.c
保存退出,继续执行"make && make install" 执行即可安装成功。
九、安装Apache(关键)
[root@gamejzy lamp]# cd httpd-2.2.9/ [root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support [root@gamejzy httpd-2.2.9]# make && make install
./configure 中的参数说明:
--sysconfdir=/etc/httpd 指定Apache服务器的配置文件(httpd.conf等文件)存放位置
--with-included-apr 使用捆绑APR/APR-Util的副本
--enable-so 以动态共享对象(DSO)编译
--enable-deflate=shared 缩小传输编码的支持
--enable-expires=shared 期满头控制
--enable-rewrite=shared 基于规则的URL操控
--enable-static-support 建立一个静态链接版本的支持
测试 Apache 服务器
1、检查 /usr/local/ 下是否出现 apache2 目录;
2、检查 /etc/ 目录下面是否出现 httpd 目录,即里面是否有 httpd.conf 文件、extra目录等内容
3、开启 apache 服务器
[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start
stop(关闭)、restart(重启)
4、查看 apache 服务器是否启动,即查看 80 端口是否启动
[root@gamejzy httpd]# netstat -tnl|grep 80
执行完命令,出现如下所示,表示已经启动
tcp 0 0 :::80 :::* LISTEN
5、在浏览器中访问
如果在本机的话,请在浏览器地址栏中输入:localhost 或127.0.0.1
如果是远程连接的话,比如:SSH连接,那么请在浏览器地址栏中输入 Linux 的 ip 地址。比如:192.168.1.233
若网页中出现大字“
”说明 Apache 安装成功。
测试完毕!
添加 Apache 每次开机自动启动
[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
十、安装MySQL(重要)
安装 MySQL 之前先建立一个专门管理 MySQL 的组和用户名
建立一个组名叫“mysql”
[root@gamejzy /]# groupadd mysql
建立一个用户名叫“mysql”,让他属于“mysql”组
[root@gamejzy /]# useradd -g mysql mysql
[root@gamejzy lamp]# cd mysql-5.0.41/ [root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all [root@gamejzy mysql-5.0.41]# make && make install
./configure 参数说明:
--with-extra-charsets=all 安装MySQL 所有的字符集
注意 在 ./configure 的时候如果出现如下错误
原因:缺少ncurses安装包。
解决方法:下载安装相应软件包
yum list|grep ncurses yum -y install ncurses-devel
ncurses安装完成之后,再进行 ./configure 配置!
MySQL安装完成之后,设置一些内容,这些内容非常繁琐,但是又非常关键的,希望大家耐心学习。
1、设置配置文件 my.cnf,放在 /etc/ 目录下
[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
2、初始化数据库文件,安装完 MySQL 之后,并不会出现 MySQL 的数据文件及数据存放位置
首先切换到 MySQL 的安装目录下
[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/
使用 bin 目录下的 mysql_install_db 进行初始化数据库文件,并使用上面建的 mysql 用户
[root@gamejzy mysql]# bin/mysql_install_db --user=mysql
运行完之后,会发现 MySQL 安装目录中会多一个 var 目录,里面放置的就是数据库文件,包括我们已经建的数据库都会放置在这个目录里面。
3、设置 MySQL 安装目录权限
改变目录下的所有文件和目录的拥有者为 root
[root@gamejzy mysql]# chown -R root .
改变 var 目录的拥有者为 mysql 用户
[root@gamejzy mysql]# chown -R mysql ./var/
改变所有目录和文件的用户组为 mysql 组
[root@gamejzy mysql]# chgrp -R mysql .
4、启动 MySQL
[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
& 表示在后台启动
这时,使用 netstat -tnl,如果看见 3306 端口,那么说明启动成功
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
5、设置权限,如果我们现在直接使用 bin 目录下的 mysql 命令,那么就能登录
[root@gamejzy mysql]# bin/mysql
这样就太危险了!因此需要设置权限。
先登录进 MySQL 中,使用 SQL 命令删除主机不是“localhost” 的用户名(MySQL 中的用户都mysql库中的user表),只留允许本机登录的账号。
mysql> delete from mysql.user where Host != 'localhost';
刷新授权表
mysql> flush privileges;
设置允许本机进入 MySQL 的 root 用户的密码
mysql> set password for 'root'@'localhost'=password('123456');
注:设置的密码必须记住,不然就进不去 MySQL 数据库了。
到这步的时候,我们的 root 用户,就已经设置了密码(密码为“123456”),我们可以测试一下,键入“exit”退出MySQL
这时登录 MySQL 数据库的命令不能是 bin/mysql 那么简单,应该如下
[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456
-h 指定主机名
-u 用户名
-p 密码
6、关闭 MySQL 数据库服务器
[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown
这里的是 root 用户是 MySQL 中的用户,执行后会提示你输入密码,Enter password:
输入密码,回车即可关闭数据库。
启动命令,请看本节4
7、加入到开机默认启动
[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local
十一、安装PHP(重要)
这里我们安装 PHP 的高版本 php-5.3.19,安装参数比较多,请一定注意。
[root@gamejzy lamp]# cd php-5.3.19/ [root@gamejzy php-5.3.19]# ./configure \ > --prefix=/usr/local/php \ > --with-config-file-path=/usr/local/php/etc \ > --with-apxs2=/usr/local/apache2/bin/apxs \ > --with-mysql=/usr/local/mysql/ \ > --with-libxml-dir=/usr/local/libxml2/ \ > --with-png-dir=/usr/local/libpng/ \ > --with-jpeg-dir=/usr/local/jpeg6/ \ > --with-freetype-dir=/usr/local/freetype/ \ > --with-gd=/usr/local/gd2/ \ > --with-mcrypt=/usr/local/libmcrypt/ \ > --with-mysqli=/usr/local/mysql/bin/mysql_config \ > --enable-soap \ > --enable-mbstring=all \ > --enable-sockets
./configure 参数说明:
--with-config-file-path=/usr/local/php/etc 指定PHP5配置文件存入的路径
--with-apxs2=/usr/local/apache2/bin/apxs 告诉PHP查找Apache 2的地方
--with-mysql=/usr/local/mysql/ 指定MySQL的安装目录
--with-libxml-dir=/usr/local/libxml2/ 告诉PHP放置libxml2库的地方
--with-png-dir=/usr/local/libpng/ 告诉PHP放置libpng库的地方
--with-jpeg-dir=/usr/local/jpeg6/ 告诉PHP放置jpeg库的地方
--with-freetype-dir=/usr/local/freetype/ 告诉PHP放置freetype库的地方
--with-gd=/usr/local/gd2/ 告诉PHP放置gd库的地方
--with-mcrypt=/usr/local/libmcrypt/ 告诉PHP放置libmcrypt库的地方
--with-mysqli=/usr/local/mysql/bin/mysql_config 变量激活新增加的MySQLi功能
--enable-soap 变量激活SOAP和Web services支持
--enable-mbstring=all 使多字节字符串支持
--enable-sockets 变量激活socket通讯特性
编译可能出现的问题:
出现如下报错:
解决方法:
cd /usr/local/mysql/lib/mysql/ ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
编译OK后,出现“Thank you for using PHP.”,说明配置成功。
[root@gamejzy php-5.3.19]# make && make install
编译和安装,时间会比较长,耐心等待吧!
编译完成后,需要以下配置
1、设置 php.ini 配置文件
[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini
注:/usr/local/php/etc 是在配置的时候指定的位置
2、和 Apache 整合
先打开 Apache 的配置文件 httpd.conf
[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf
会发现文件中有这么条内容
LoadModule php5_module modules/libphp5.so
这就说明 PHP 已经加载到 Apache 服务器中了,我们所要做的是告诉 Apache 服务器,哪些后缀名使用 PHP 解析
在 vi 编辑器中搜索“AddType application/x-compress .Z”
在后面添加一条:AddType application/x-httpd-php .php
修改后的效果如下图
保存并退出,重启 Apache
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop [root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start
3、测试 Apache 服务器是否可以解析 PHP
往 /usr/local/apache2/htdocs 目录下添加一个phpinfo.php 文件,键入以下代码:
<?php header("Content-Type:text/html;Charset=utf-8"); phpinfo(); ?>
打开浏览器,访问该文件,看到如下图所示,说明 PHP 安装成功,并且和 Apache 服务器整合成功。
到此,CentOS 下的 LAMP 环境就搭建完毕了,虽然步骤繁琐,但是“工欲善其事,必先利其器”,花些时间,搭建一个完美的环境是值得的。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!