Linux 下搭建 php 开发环境完整教程

   在开始进入正题前,先普及一点基础知识。在 Linux 环境下,我们通过命令行安装软件的时候,可能会出现错误。当错误出现的时候,我们怎么撤销之前的步骤,重新安装软件呢?解决方案如下
    (1) 已经执行 configure 操作
    解决:根据正确的参数重新 configure 即可
    (2)已经执行 configure、make 操作
    解决:删除解压后的文件目录,重新解压、configure、make
    (3)已经执行 configure、make、make install 操作
    解决:首先删除安装后的文件(有指定安装目录的情况 /usr/local/http2),然后删除解压后的目录,最后重新解压、configure、make、make install 就行了。好了,下面开始进入正题了。

一、 安装 apache
1. 配置(apache 安装配置) 在安装前记得切换到 root ,否则会因权限问题安装失败
./configure --prefix=/usr/local/http2 \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so
// --enable-mods-shared=all 模块共享类型,一次性编译所有模块到 apache 内
执行   ./configure --help  可查看默认配置及配置帮助信息,如安装目录 --prefix 等

2. 安装
执行 make && make install 就完成安装了

3. 启动 apache
进入到安装目录 /usr/local/http2/bin
执行命令 ./apachectl start 可启动 apache
启动 apache 的时候,可能会提示 Could not reliably determine the server's fully ...
其实这不是什么错误,可忽略,也可通过修改配置文件解决这个问题,
进入安装目录,/usr/local/http2/conf/ 找到 httpd.conf ,在该文件中查找 ServerName,
把它前面的 # 号去掉就行了 。

4. 访问
安装完成后,在浏览器中输入本机 ip 地址,即可访问到 apache 默认的页面
如输入本机 ip :192.168.0.141


二、 安装 php 的依赖软件
现在要把 php 依赖的一些软件(xml、gd、jpeg、png、freetype)都安装上去 ,然后才能安装 php 。

1. 安装 xml 依赖
下载 libxml2,然后安装
安装前配置:./configure --prefix=/usr/local/libxml2 --without-zlib
然后 make&&make install

2. 安装 jpeg8
安装前配置 ./configure --prefix=/usr/local/jpeg --enable-share --enable-static
然后 make && make install
--enable-share 把 jpeg 需要的函数库程序都编译到该软件里面,这样函数调用速度快,但是软件本身比较大
--enable-static 静态引入方式,这样当需要调用还没引入的函数时,会立即 include 进来,这样软件本身比较小,但是函数调用速度慢

3. 安装 libpng
./configure && make && make install

4. 安装 freetype 库(字体库)
./configure --prefix=/usr/local/freetype
make && make install

5. 安装 GD 库
./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg/ --with-png --with-zlib --with-freetype=/usr/local/freetype
make && make install

6. 安装 libXpm-3.5.10
// 有的系统可能没安装这个,要自己安装

直接用默认的配置就行
./configure
make && make instsall

三、安装配置 php
1. 安装 php

参数解析:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/http2/bin/apxs
apache 的支持,作用: 给 apache 生成 php 模块;修改 /usr/local/http2/conf/httpd.conf 的配置文件,使其引入 php 模块
mysqlnd 表示激活 php 本身的 mysql 驱动并使用,因还我们还没自己安装 mysql,所以这样可用默认的 mysql 。
 --enable-mbstring=all 宽字节函数库对 php 的支持

./configure --prefix=/usr/local/php 
    --with-apxs2=/usr/local/http2/bin/apxs
    --with-mysql=mysqlnd
    --with-pdo-mysql=mysqlnd
    --with-mysqli=mysqlnd
    --with-freetype-dir=/usr/local/freetype
    --with-gd=/usr/local/gd
    --with-zlib
    --with-libxml-dir=/usr/local/libxml2
    --with-jpeg-dir=/usr/local/jpeg
    --with-png-dir
      --with-xpm-dir=/usr/local/libxpm
    --enable-mbstring=all
    --enable-mbregex
    --enable-shared

配置完成后,安装 make && make install

安装成功后,会出现如下提示
License:
This software is subject to the PHP License, ... at this point.
+---------------------------------------------------------------+

Thank you for using PHP.

    PHP 安装完成后,/usr/local/http2/conf/httpd.conf 会把相应的 php 模块引入进来,如
    LoadModule php5_module            modules/libphp5.so
    .... ...

2. 安装完成后,进行相关设置
把 php 解压目录里面的 php.ini 配置文件到指定目录
cp php.ini-development /usr/local/php/lib/php.ini

3. 配置 Apache 使其支持 php
vim /usr/local/http2/conf/httpd.conf
(1)在 httpd.conf(Apache 主配置文件,在 /usr/local/http2/conf 目录下)中添加
AddType application/x-httpd-php .php
使 apache 遇到 php 文件时懂得调用 php 模块解析
(2)设置时区
在 /usr/local/php/lib 中修改 php.ini 配置文件,设置时区
data.timezone = PRC(记得把前面的分别去掉)

设置完成后,重启 apache 服务器
/usr/local/http2/bin/apachectl restart
至此所有安装步骤完成,在 apache 的目录下(/usr/local/apache2/htdocs)写个测试文件如 test.php
内容:
<?php
phpinfo();
?>
然后在浏览器中访问:192.168.0.141/test.php
如果访问成功,说明安装配置成功

注意:在使用 ThinkPHP 的时候,可能会出现下面这个问题

thinkphp开发的项目访问的时候出现了 页面错误!请稍后再试~ 排查了很多原因,最终是这样的解决的:

开启debug模式。在入口文件处加上 define(‘APP_DEBUG‘, true);  就ok了

此外,在系统目录下创建的文件夹,没有写权限,要修改文件夹权限才能写入,才能正常访问,如
chmod -R 777 thinkphp(即让该文件夹及其所有子文件夹可读可写可执行)

四、安装配置 mysql
1. 安装 cmake(更先进的 configure)
解压后执行配置命令 ./bootstrap,配置完成后 make && make install,要以 root 权限安装 。

2. 安装 mysql
tar zxvf mysql****
cmake 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
(安装目录, 数据存储目录, 默认的字符集, 校对字符集
然后 make && make install
    在进行 mysql 的 configure 操作的时候,可能会提示软件依赖错误,依赖文件 libncurses5-dev
    解决方法:安装 ncurses-devel
    rpm -ivh ncurses-devel-5.7-3.200090208.el6.i686.rpm(现在可能不是这个文件名了,自己 google 吧)
    依赖解决好后要删除 CMakeCache.txt 文件。

3. 配置 mysql
(1)给 mysql 复制一个配置文件
在 mysql 我解压目录下,有个 support-files 文件夹,进入这个文件夹,执行复制命令
cp my-medium.cnf /etc/my.cnf
(2)useradd mysql(添加用户)
(3)chmod +x /home/lion/storm/web-php/install/mysql5.5/install
(4)chown -R mysql.mysql /home/lion/storm/web-php/install/mysql5.5/install
(5)初始化 mysql 数据库
/home/lion/storm/web-php/install/mysql5.5/install/scripts/mysql_install_db --user=mysql --basedir=/home/lion/storm/web-php/install/mysql5.5/install --datadir=/home/lion/storm/web-php/install/mysql5.5/install/data &
(6)把 mysql 安装文件(除了 data 之外)的主人都改为 root,避免数据库恢复为出厂设置
chown -R root /home/lion/storm/web-php/install/mysql5.5/install
chown -R mysql /home/lion/storm/web-php/install/mysql5.5/install/data
(7)后台运行 mysql 服务
/home/lion/storm/web-php/install/mysql5.5/install/bin/mysqld_safe --user=mysql &
查看 mysql 是否有启动
ps -A | grep mysql
如果启动成功,则显示以下信息
------ mysqld_safe
------ mysqld
(8)进入 mysql 操作终端的执行程序(在  /home/lion/storm/web-php/install/mysql5.5/install/bin 目录下)
执行命令 ./mysql 就可以运往 mysql 了。
(9)设置 mysql 用户和密码
为了数据库安全,把 localhost 之外的用户全部删除掉,并为 localhost 设置密码,设置密码时调用加密函数给密码加密;
mysql 的所有用户信息都放在 mysql 数据库中,而且这也是 mysql 的核心数据库 。所以要到这个数据库中进行用户管理操作,执行命令
use mysql 
切换到这个数据库,执行下面的操作:
    mysql> delete from user where Host != 'localhost';
    mysql> select Host, User, Password form user;
    mysql> update user set Password=password(123456);
    mysql> select Host, User, Password from user;
    mysql> flush privileges;(刷新,使对权限的修改立即生效)

(10)设置完成后,执行 flush privileges; 命令,使设置立即生效 。设置完成后,以后不要随便操作 mysql 中的 mysql 数据库了 。
(11)执行 exit 命令退出当前 mysql,然后重新登录 mysql
./mysql -uroot -p123456

(12)通过 php 中访问 mysql,在 apache 的 htdocs 目录下,创建一个 data.php 文件,来访问 mysql 。
<?php
    $link = mysql_connect('localhost', 'root', '123456');
    mysql_select_db('test', $link);
    mysql_query('set name utf8');
    $sql = "select * from goods";
    $qry = mysql_query($sql);
    while($rst = mysql_fetch_assoc($qry)) {
        print_r($rst);
        echo "<br />";
    }



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Storm-Shadow

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值