zoukankan      html  css  js  c++  java
  • Ubuntu编译源码搭建PHP开发环境

    准备源码:

    1.mysql的源码:mysql-5.5.15.tar.gz 

    2.apache的源码:httpd-2.2.19.tar.gz 

    3.php的源码:php-5.3.6.tar.gz 

    第一步,安装MySql 

    复制代码
    groupadd mysql                                添加一个mysql用户组
    useradd -g mysql mysql                  添加一个mysql到用户,此用户属于mysql组


     
    tar -xzvf mysql-5.5.15.tar.gz
    cd mysql-5.5.15
    cmake -DCMAKE_INSTALL_PREFIX=/usr/dev/mysql      使用cmake编译而不是make编译,如果没有安装cmake则需要通过apt-get安装cmake再执行此步
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_MEMORY_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DMYSQL_DATADIR=/var/mysql/data 
    -DMYSQL_USER=mysql




    make
    make install

    chmod +/usr/dev/mysql
    chown -R mysql:mysql /usr/dev/mysql


    mkdir -p /var/mysql/
    mkdir -p /var/mysql/data/
    mkdir -p /var/mysql/log/
    chown -R mysql:mysql /var/mysql/

    cd /usr/dev/mysql/support-files
    ## 可能还需要执行这一步:mkdir /etc/mysql
    cp my-large.cnf /var/mysql/my.cnf(如果是debian,my.conf需要放在/etc/mysql/下面)

    cp mysql.server /etc/init.d/mysqld

    cp /usr/dev/mysql/scripts/mysql_install_db /usr/dev/mysql/.
    chmod 777 /var/mysql/data

    /usr/dev/mysql/scripts/mysql_install_db --defaults-file=/etc/mysql/my.cnf --basedir=/usr/dev/mysql --datadir=/var/mysql/data --user=mysqlchmod +x /etc/init.d/mysqldvi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)basedir=/usr/dev/mysqldatadir=/var/mysql/datachkconfig –add mysqldchkconfig –level 345 mysqld on
    复制代码

    第二步,安装apache

    复制代码
    tar -xzvf httpd-2.2.19.tar.gz
    cd httpd-2.2.19

    # 编译和安装 apr 1.2
    cd srclib/apr
    ./configure --prefix=/usr/dev/apr-httpd/
    make
    make install

    # 编译和安装 apr-util 1.2
    cd ../apr-util
    ./configure --prefix=/usr/dev/apr-util-httpd/ --with-apr=/usr/dev/apr-httpd/
    make
    make install

    # 配置 httpd
    cd http://www.cnblogs.com/

    #不知到这一句到效果会不会被下面那一句覆盖,会的话就不用执行这一句 ./configure --with-apr=/usr/dev/apr-httpd/ --with-apr-util=/usr/dev/apr-util-httpd/

    #如果报错“apache  APR-util version 1.2.0 or later is required”(已经安装的apr-util的 版本明明是1.3.12,却报这个错) 可尝试如下编译语句:./configure --with-apr=/program/apr-httpd/ --with-apr-util=/program/apr-util-httpd/ --with-included-apr --prefix=/program/apache --enable-rewrite=shared --enable-speling=shared

    #很可能会报错,最好先make clean
    ./configure --prefix=/usr/dev/apache 
    --enable-rewrite=shared 
    --enable-speling=shared

    make && make install

    复制代码

     

    第三步,安装php

    复制代码
    如果没有安装libxml2-dev,需要先安装libxml2-dev:
    apt-get install libxml2-dev


    tar -xzvf php-5.3.6.tar.gz
    cd php-5.3.6
     ./configure --prefix=/usr/dev/php5.3.6 --with-apxs2=/usr/dev/apache/bin/apxs --with-mysql=/usr/dev/mysql
    make
    make install 

    cp php.ini-development /usr/dev/php5.3.6/lib/php.ini



    编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 表达式右边的路径必须指向 系统中的 PHP。以上的 make install 命令可能已经完成了这些,但务必要检查。

    LoadModule php5_module modules/libphp5.so

    告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php 解析成 PHP。为了避免潜在的危险,例如上传或者创建类似exploit.php.jpg的文件并被当做 PHP 执行,我们不再使用 Apache 的 AddType 指令来设置。参考下面的例子,你可以简单的将需要的扩展名解释为 PHP。我们演示为增加.php。

    <FilesMatch ".php$">
        SetHandler application/x-httpd-php
    </FilesMatch
    复制代码

     

    建议:网上的资料比较杂,安装apache 和 php可以结合参考官方的手册比较好。

    最后附上windows下的php环境搭建:

    复制代码
    1.先装mysql
    安装mysql-5.5.14-win32.msi   27.7M

    2.再装apache
    安装httpd-2.2.19-win32-x86-openssl-0.9.8r.msi 5.56M

    3.安装PHP
    下载 php-5.2.17-Win32-VC6-x86.zip(vc6非线程安全版本) 10M,不用安装,解压到D:php_5.2.17

    4.配置apache使之支持php
    LoadModule php5_module "D:/php_5.2.17/php5apache2_2.dll"
    AddHandler application/x-httpd-php .php
    # configure the path to php.ini
    PHPIniDir "D:/php_5.2.17"

    5.配置php.ini使之支持mysql
    进入目录D:/php_5.2.17,将php.ini-dist复制到当前目录并且改名为php.ini
    打开php.ini,设置 extension_dir = "D:PHP_5.2.17ext"
    去掉;extension=php_mysql.dll最前面的;,让php加载mysql的dll
    在环境变量里加入以下两个路径:

    ;D:PHP_5.2.17;D:PHP_5.2.17ext  

    还有第二种更为干净的配置方法(其实就是下载MySql绿色版,不用安装,个人比较喜欢这种方式):

    1.再装apache

    安装httpd-2.2.19-win32-x86-openssl-0.9.8r.msi 5.56M
    2.安装PHP
    下载 php-5.2.17-Win32-VC6-x86.zip(vc6非线程安全版本) 10M,不用安装,解压到D:php_5.2.17
    3.安装mysql(下载不用安装版的mysql)
    下载 mysql-5.5.15-win32.zip  133M   不用安装,解压到D:Program FilesMySql_5.5.15
    4.配置apache使之支持php
    LoadModule php5_module "D:/php_5.2.17/php5apache2_2.dll"
    AddHandler application/x-httpd-php .php
    # configure the path to php.ini
    PHPIniDir "D:/php_5.2.17"

    5.配置php.ini使之支持mysql
    进入目录D:/php_5.2.17,将php.ini-dist复制到当前目录并且改名为php.ini
    打开php.ini,设置 extension_dir "D:PHP_5.2.17ext"
    去掉;extension=php_mysql.dll最前面的;,让php加载mysql的dll

    复制代码
  • 相关阅读:
    10.25 测试
    ##2018-2019-1 20165327 《信息安全系统设计基础》第四周学习总结
    实验一 开发环境的熟悉
    ch03 课下作业——缓冲区溢出漏洞实验
    20165327 2018-2017-1 《信息安全系统设计基础》第三周学习总结
    week02 课堂作业
    第四周学习总结
    2018-2019-1 20165204 《信息安全系统设计基础》第三周学习总结
    2018-2019-1 20165204《信息安全系统设计基础》第二周学习总结
    2018-2019-1 20165204 《信息安全系统设计基础》第一周学习总结
  • 原文地址:https://www.cnblogs.com/j-king/p/3918880.html
Copyright © 2011-2022 走看看