事情发生在两三天前,日常撸代码中……。突然喊道我的名字,我走了过去,问我在Linux搭建PHP环境有没有遇到过缺失扩展的情况,我说我爬过这样的坑。就这样我接下来三天都在忙碌中。

环境

  • Contos7

    要求

  1. 搭建php运行环境
  2. Apache2.2
  3. PHP5.3.3(官网都没有这个版本)
  4. Mysql5.5

    历程

      我之前是遇到过php环境缺失gd库什么的,但上面的情况并不是缺失扩展。主机是阿里云的,直接把阿里云登录的账户密码给我了(……),我想问主机的root密码(没有回我)无奈。登上阿里云直接给他改了root密码(在阿里云那个网页登录主机时是保存在操作界面的)。开始!虽然官网没有php5.3.3,但是互联网是神奇的!(附上下载地址)
  • php-5.3.3.tar.gz
  • Mysql5.5
  • Apache2.2

    开始

    安装Apache2.2

      这个还是挺简单的,几下搞定
    1
    2
    3
    4
    # tar zxvf httpd-2.2.16.tar.gz //解压
    # cd httpd-2.2.16
    # ./configure --enable-so --enable-rewrite=shared
    # make && make install

安装PHP

1
2
3
4
5
6
# yum install bison flex gcc db4 db4-devel libxml2-devel libpng-devel mysql-devel make //安装所需要的环境
# tar zxvf php-5.3.3.tar.gz
# cd php-5.3.3
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-bcmath --enable-ftp --enable-magic-quotes --with-pear --enable-sockets --with-zlib --with-gd --with-libdir=lib64
# make && make install
# cp php.ini-production /usr/local/lib/php.ini

配置Apache和PHP

1
# vim /usr/local/apache2/conf/httpd.conf
  • 找到ServerNmae设置为ServerName localhost:80
  • 找到AppType在后面添加AddType application/x-httpd-php .php

    1
    # vim /usr/local/lib/php.ini
  • 和我们其它系统上配置就是一样的了,打开那些扩展就行了

    配置Mysql

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # useradd -M -s /sbin/nologin mysql //添加mysql用户
    # tar zxvf mysql-5.5.55-linux2.6-x86_64.tar.gz -C /usr/src/ //解压到指定的目录
    # cd /usr/src/mysql-5.5.55-linux2.6-x86_64
    # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    # make && make install
    # cd /usr/local/mysql/
    # cp support-files/my-medium.cnf ./my.cnf
    # mv /etc/my.cnf /etc/my.cnf.bak
    # chown mysql.mysql /usr/local/mysql -R
    # cp support-files/mysql.server /etc/init.d/mysqld
    # chmod +x /etc/init.d/mysqld
    # scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql //初始化mysql
    # /etc/init.d/mysqld start //启动mysql
    # chkconfig mysqld on //设置开机启动
    # vim /etc/profile //添加环境变量(PATH=/usr/local/mysql/bin:$PATH)
    # source /etc/profile //让配置立即生效

状况

  在阿里云的主机要注意,当我们配置好了以后我们输入公网ip地址时,出现不能访问的情况。这并不是我们配置的问题,在阿里云主机80端口是没有开放的,所以我们需要在阿里云的安全组配置>添加规则添加如下规则,不出意外基本OK!

aliy

aliy