• Ubuntu编译源码搭建PHP开发环境


    最近要转PHP了,迷上了Ubuntu,不想通过apt-get搭建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
    =mysql




    chmod 
    +/etc/init.d/mysqld
    vi 
    /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
    basedir
    =/usr/dev/mysql
    datadir
    =/var/mysql/data

    chkconfig –add mysqld
    chkconfig –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.17\ext"
    去掉;extension
    =php_mysql.dll最前面的;,让php加载mysql的dll
    在环境变量里加入以下两个路径:

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

    还有第二种更为干净的配置方法(其实就是下载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 Files\MySql_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.17\ext"
    去掉;extension
    =php_mysql.dll最前面的;,让php加载mysql的dll


  • 相关阅读:
    VC++中如何让RadioButton分组,并且互斥
    CString 中的SpanIncluding 和SpanExcluding 用法
    vs2003属性窗口空白的问题
    查看虚函数表
    TabControl控件用法图解
    ADO+MFC数据库编程常用语句
    VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
    ODBC、OLEDB、ADO、SQL的关系
    C++虚函数及虚函数表解析
    poj 2114 Boatherds 树的分治
  • 原文地址:https://www.cnblogs.com/mxw09/p/2123182.html
Copyright © 2020-2023  润新知