php开发环境搭建

1、wamp环境搭建

  1. 安装apache
  2. 安装mysql
  3. 解压php
  4. 在httpd.conf中配置apache,让apache支持php

          #加载php做为apache的一个模块php

          LoadModule php5_module "d:/server/php/php5apache2_4.dll"html

     5. 在apache中指定将php文件交给php模块去处理mysql

          #增长php模块须要处理的文件,将以.php为后缀的文件交给php模块去处理linux

          AddType application/x-httpd-php .phpweb

     6. 配置php,提供mysql扩展,使其可以链接mysql服务器正则表达式

          ①在php目录下,复制php.ini.development文件重命名为php.ini做为php配置文件sql

          ②将php的配置文件加载到apache配置文件中数据库

              #增长php配置文件的路径apache

                PHPIniDir d:/server/phpvim

          ③在php.ini开启mysql扩展

                extension=php_mysql.dll
                extension=php_mysqli.dll

              #设置php扩展路径

                extension_dir = "d:/server/php/ext/"

        7. 虚拟主机配置

            ①在d:/server/apache/conf/extra/下修改httpd-vhosts.conf配置

                # 配置CI项目的虚拟主机

                    <VirtualHost *:80>
                        DocumentRoot "D:/TDOWNLOAD/CI"
                        ServerName lujc.com

                        #设置目录访问权限
                        <Directory "D:/TDOWNLOAD/CI">
                            Options Indexes FollowSymLinks
                            AllowOverride All
                            Order allow,deny
                            Allow from all
                        </Directory>
                </VirtualHost>

            ②在C:\Windows\System32\drivers\etc修改本地hosts配置

                    127.0.0.1       localhost
                    127.0.0.1       lujc.com

            ③在d:/server/apache/conf/下修改httpd.conf配置

                # Virtual hosts
                   Include conf/extra/httpd-vhosts.conf

        8. 重启apache

2、lamp环境搭建

    1)二进制码软件安装

    1.rpm方式

        优势:软件安装很是方便、快速

        缺点:软件的各个组成部分很是固定,不灵活。须要手动解决依赖关系。

        使用场景:软件安装后使用的用户很是少,就采起二进制码方式安装。如:ftp、gcc等

        (1)安装并使用ftp软件(ftp协议 21端口)

            rpm方式安装(vsftpd)软件:

                rpm    -ivh    软件包全名                                //安装软件

                rpm    -q        软件包名(完整)                    //query查看软件是否有安装

                rpm    -e        软件包名(完整)                    //卸载软件

                rpm    -qa                                                    //查看系统里所有rpm方式安装的软件

                rpm    -qa | grep ftpd(部分名字)             //模糊查找指定软件ftpd是否有安装

                软件包名    =    软件包名+软件版本+支持的系统+支持cpu型号+文件后缀

        (2)使用ftp

            ①启动ftp服务:

                service vsftpd start/stop/restart        //控制ftp服务

                ps -A | grep ftp                                 //查看ftp相关服务进程

            ②测试本机与linux与linux的ftp端口21是否通畅

                若是不通畅,解决方法:关闭linux系统防火墙(执行指令 setup)

            ③ftp客户端链接失败

                若是账号密码输入正确,链接失败,解决方法:关闭SELinux

                vi /etc/selinux/config,把enforcing改成disabled  完成编辑并reboot重启系统,并启动ftp服务

            ④对使用ftp用户的限制

                ftp服务能够在配置文件里边作设置,两个文件以下:

                /etc/vsftpd/user_list        /etc/vsftpd/ftpusers

                限制普通用户只访问本身的家目录    /etc/vsftpd/vsftpd.conf

                

        (3)gcc编译器安装

            软件包依赖

                

    2.yum智能方式

        前提    ①能够上网 ②经过配置把软件放到指定位置

        优势     方便,一键安装,无需考虑软件依赖。

        yum install.php    //安装

            yum  -y  install  包名

            yum  -y  remove  包名        //卸载

            yum  -y  update  包名        //升级(有网)

            yum  list   查询全部能够安装的包  

        若是没有网络,yum管理工具能够将多媒体软件库做为yum源(池),继续完成软件管理。yum默认将/etc/yum.repo.d/CentOS-base.repo文件做为第一yum源配置文件,此文件描述了网络站点的下载地址,若是此文件存在,则继续上网安装,断网时会安装失败。须要将yum源切换为光盘的多媒体文件中去。

        将光盘做为yum源

            修改yum源配置文件            //剪切或更名皆可,只要在原位置无同名配置文件便可。

                mv  /etc/yum.repo.d/CentOS-Base.repo   /root/ 

        挂载使用光盘

            mount /dev/cdrom  /mnt/cdrom

        修改Media配置文件,指定yum源为挂载点

            vi   /etc/yum.repos.d/CentOS-Media.repo

            修改开始

                baseurl=file:///mnt/cdrom/         指定yum源位置

                enabled=1                   yum源文件生效

                gpgcheck=1                 rpm验证不生效

            修改结束

        测试安装

        yum  -y  install  gcc

        安装软件包8个自动解除依赖关系。

    2)源码编译方式安装软件

        优势:软件内部各个组成部分能够灵活作配置(例如php里边有gd/xml/jpeg/png等各个部分组成,均可以灵活选取)

        缺点:安装稍麻烦

        使用场景:软件安装完毕使用者很是多、很是巨大,就采起源码编译方式安装。如php、apache、mysql等。

         卸载以前的软件(由于在linux中,默认安装了apache、mysql、php软件,它们都是以rpm包格式安装,因此咱们须要先将这些软件删除才能够继续安装咱们如今的源代码包。)

        rpm -e httpd --no'de'p's

    1.zlib软件安装

        zlib能够对许多其余软件的编译代码起着优化、压缩的做用

        解压压缩包:

        .tar.gz            tar    zxvf    压缩包.tar.gz

        .tar.bz2          tar     jxvf    压缩包.tar.bz2

        ./configure  //在解压软件目录内部执行    make       make install

    2.安装apache

        configure配置指令以后直接执行:make && make install

        启动apache: /usr/local/http2/bin/下    执行.apachectl  start/stop/restart

    3.安装php

        (1)安装libxml2

            tar zxvf libxml2-2.7.2.tar.gz

            cd libxml2.2.7.2

            ./configure --prefix=/usr/local/libxml2 \

                               --without-zlib

            make && make install

        (2)安装jpeg8

            tar zxvf jpegsrc.v8b.tar.gz

            cd jpeg-8b

            ./configure --prefix=/usr/local/jpeg \

                               --enable-shared --enable-static

            --enable-shared             //把jpeg须要的函数库程序都编译到该软件里边

                                                    优势:函数调用速度快        缺点:软件自己比较大

            --enable-static                //静态方式函数处理,须要什么函数立刻include出来

                                                    优势:软件自己比较小        缺点:函数调用速度慢

            make && make install

        (3)安装libpng

                tar zxvf libpng-1.4.3.tar.gz

                cd libpng-1.4.3

                ./configure

                make && make install

        (4)安装freetype(字体库)

        (5)安装GD库

        (6)安装php

            tar jxvf php-5.3.6.tar.bz2

            cd php-5.3.6

            ./configure --prefix=/usr/local/php \

            --with-apxs2=/usr/local/http2/bin/apxs \

                            apache的支持,其做用:

                            ①给apache生成php模块

                            ②修改/usr/local/http2/conf/httpd.conf的配置文件,使其引入php模块

            --with-mysql=mysqlnd \

            --with-pdo-mysql=mysqlnd \

            --with-mysqli=mysqlnd \

                            mysql没有先于php以前安装,还要对php造成支持,就设置mysqlnd,mysqlnd表示会激活php自己的mysql驱动并使用

            --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 \

            --enable-mbstring=all \

            --enable-mbregex \            

                            正则表达式对php的支持

            --enable-shared \

            make && make install

            cp php.ini-development    /usr/local/php/lib/php.ini

                            php安装完成会使得httpd.conf把对应的php模块引入,配置apache使其支持php

                            vi /usr/local/http2/conf/httpd.conf

                            ①在httpd.conf中增长AddType application/x-httpd-php.php

                            ②在<IfModule dir_module>

                                        DirectoryIndex index.html

                                  </IfModule>

                                在index.html前面添加index.php

                             ③创建php测试网页

                                vi /usr/local/apache2/htdocs/index.php

                                <?php

                                    phpinfo();

                                ?>

            修改php配置文件/usr/local/php/lib/php.ini设置date.timezone = PRC

            /usr/local/http2/bin/apachectl restart        //重启apache

        4.安装mysql

            (1)安装cmake

                rpm -ivh cmake……rpm

            (2)安装mysql

                安装依赖软件:ncurses-devel

                依赖解决好后须要删除CMakeCache.txt文件

                tar zxvf mysql-5.5.17.tar.gz

                cd mysql-5.5.17

                cmake \

                -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    //准备安装到哪

                -DCMAKE_DATADIR=/usr/local/mysql/data \       //数据存储目录

                -DDEFAULT_CHARSET=utf8 \                            //默认的字符集

                -DDEFAULT_COLLATION=utf8_general_ci \         //校队字符集

                make && make install

                cp support-files/my-medium.cnf    /etc/my.cnf        //给mysql复制一个配置文件

            (3)配置并初始化mysql

                useradd mysql

                chmod + x /usr/local/mysql

       (数据库用户不当心删光)

         删除data目录同时删除旧的mysql服务 ps -A | grep mysql    killall mysqld或kill -9 mysql进程号码

                chown -R mysql.mysql    /usr/local/mysql

                初始化mysql数据库

                /usr/local/mysql/scripts/mysql_install_db \

                --user=mysql \

                --basedir=/usr/local/mysql \

                --datadir=/usr/local/mysql/data &

                把mysql安装文件除了data的拥有者都变为root,避免数据库恢复为出厂设置

                chown -R root /usr/local/mysql

                chown -R mysql/usr/local/mysql/data

                后台运行mysql服务

                /usr/local/mysql/bin/mysqld_safe --user=mysql &

                ps -A | grep mysql            //查看mysql是否有启动

                测试数据库

                /usr/local/mysql/bin/mysql -u root

                show databases;

                接上步,可省略,修改数据库密码

                update user set Password=password(123456);

                select Host,User,Password from user;

                flush privileges;        //刷新权限,使修改后的密码生效

            (4)mysql忘记root密码

                vim /etc/my.cnf     在[mysqld]的段中加上一句:skip-grant-tables

                netstat -lnp | grep mysql 找到对应pid

                kill 3699

                /usr/local/mysql/bin/mysqld_safe --user=mysql &

                 /usr/local/mysql/bin/mysql

                USE mysql ; 

                UPDATE user SET Password = password ( 'root' ) WHERE User = 'root' ; 

                flush privileges ; 

                exit;

                vim /etc/my.cnf     在[mysqld]的:skip-grant-tables前面加上#注释保存退出

                netstat -lnp | grep mysql 找到对应pid

                kill 3833

                /usr/local/mysql/bin/mysqld_safe --user=mysql &

        5.注意点

            (1)配置虚拟主机细节

                <VirtualHost *:80>

                    ServiceName web.ecshop2.com

                    DocumentRoot "/var/www/html/shop/"

                    <Directory "/var/www/html/shop/">

                        Options Indexes

                        Order Deny,Allow

                        Allow from all

                    </Directory>

                </VirtualHost>

            (2)开机自动启动服务

                配置文件路径: # vi /etc/rc.d/rc.local,在文件中增长启动相关服务的命令以下:

                /usr/local/http2/bin/apachectl start

                /usr/local/mysql/bin/mysqld_safe --user=mysql &

                service vsftpd start

            (3开机默认命令模式启动

                vi /etc/inittab

                修改id:5->id:3  //命令模式开机

                reboot        //重启系统

                poweroff    //关闭系统