Unix ϵͳ�µ� Apache 2.x

���ڰ����� Unix ƽ̨�� Apache 2.x �°�װ PHP ��˵������ʾ��

Warning

���Ƽ���ʹ�� Apache 2 �IJ�Ʒ��ʹ���̻߳� MPM��Ӧʹ��Ԥ��֧ MPM��Apache 2.0 �� 2.2 Ĭ�ϵ� MPM����ԭ��� FAQ �е������Ŀʹ���̻߳� MPM �� Apache2��

�Ƽ��Ķ� » Apache �ĵ����˽�һ�� Apache 2.x ���������Լ���ϸ�İ�װ������

���Դ� » Apache ����վ���������°汾��Apache�����Ҹ�������ѡ����ʰ汾�� PHP ���ء����򵼽���������������ݣ�ֻ���� Apache 2.x �� PHP �ܹ�����������������Ϣ���Ķ� » Apache �ĵ�������ʡ�����еİ汾�ţ��Ա�֤���ĵ���ȷ�ԡ���Ҫ�����ĵ�"NN"�滻Ϊ��Ӧ�İ汾�š�

��ǰ Apache 2.x ���������еİ汾 - 2.0��2.2����Ȼѡ��ij���汾��������ԭ�򣬵���������Կ��ǵĻ������ǻ��ǽ���ʹ�����µ� Apache 2.2 �汾����Ȼ�����µĽ���ͬ���ʺ� Apache 2.0 �� 2.2��

  1. �������г��ĵط���ȡ Apache Դ�����Ȼ���ѹ��

    gzip -d httpd-2_x_NN.tar.gz
    tar -xf httpd-2_x_NN.tar
    
  2. ͬ������ȡ PHP Դ�������ѹ��

    gunzip php-NN.tar.gz
    tar -xf php-NN.tar
    
  3. ���벢��װ Apache����ο� Apache ��װ�ĵ��˽���� Apache �ĸ���ϸ�ڡ�

    cd httpd-2_x_NN
    ./configure --enable-so
    make
    make install
    
  4. �����Ѿ��� Apache 2.x.NN ��װ�� /usr/local/apache2������װ֧�ֿ�װ��ģ�� �ͱ�׼�� MPM prefork��֮�󣬿���ʹ�������������� Apache ��������

    /usr/local/apache2/bin/apachectl start
    
    ����ɹ�������ֹͣ Apache ��������������װ PHP��
    /usr/local/apache2/bin/apachectl stop
    

  5. ������Ҫ���ò����� PHP������������ø��ָ����IJ������Զ��� PHP������������Щ��չ���ܰ���֧�ֵȡ��� ./configure --help ��������г���ǰ���õ����в������ڴ����У�������һ������ MySQL ֧�ֵ� Apache 2 �Ͻ������õķ�����

    ������������˵����Դ��������� Apache����������ӻ���ȷƥ�� apxs ��·�������ͨ��������ʽ��װ�� Apache����Ҫ��Ӧ�ĵ��� apxs ��·����ע�⣬����Щ���а汾�У����ܽ� apxs ����Ϊ apxs2��

    cd ../php-NN
    ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
    make
    make install
    

    ��������ڰ�װ��ı�����ѡ�ֻ���ظ��������� configure��make���Լ� make install��Ȼ����Ҫ�������� Apache ʹ��ģ����Ч��Apache ����Ҫ���±��롣

    ��ע�⣬������ȷ����ʾ������"make install"�����װ PEAR������ PHP �������� phpize������װ PHP CLI �ȵȡ�

  6. ���� php.ini

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

    ���Ա༭ php.ini ������ PHP ����ʱ��ѡ������Ҫ�Ѵ��ļ��ŵ������λ�ã���Ҫ�ڲ��� 5 ��� --with-config-file-path=/path ѡ�

    ���ѡ���� php.ini-production��������Ķ����еı���б����ǽ�Ӱ�� PHP ��ִ�С�

  7. �༭ httpd.conf �ļ��Ե��� PHP ģ�顣LoadModule ��ʽ�ұߵ�·������ָ��ϵͳ�е� PHP ģ�顣���ϵ� make install ��������Ѿ��������Щ�������Ҫ��顣

    LoadModule php5_module modules/libphp5.so
  8. ��֪ Apache ���ض�����չ�������� PHP�����磬�� Apache ����չ�� .php ������ PHP��Ϊ�˱���DZ�ڵ�Σ�գ������ϴ����ߴ������� exploit.php.jpg ���ļ��������� PHP ִ�У����Dz���ʹ�� Apache �� AddType ָ�������á��ο���������ӣ�����Լ򵥵Ľ���Ҫ����չ������Ϊ PHP��������ʾΪ����.php��

    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    ���ߣ���Ҳ�뽫 .php��.php2��.php3��.php4��.php5��.php6���Լ� .phtml �ļ������� PHP �����У����������������ã����谴��������������

    <FilesMatch "\.ph(p[2-6]?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>

    Ȼ�󣬿��Խ� .phps �ļ��� PHP Դ�����������ʹ��������ʾʱ���Ը���Դ�룬�������£�

    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>

    mod_rewrite Ҳ�����ڽ���Щ����Ҫ���е� .php �ļ���Դ�������ʾ����������Ҫ�����Ǹ���Ϊ .phps �ļ���

    RewriteEngine On
    RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    ��Ҫ����ʽ������Ӫ��ϵͳ������ PHP Դ�����������Ϊ�����й¶ϵͳ���ܻ���Ƕ��Ĵ����е�������Ϣ��

  9. ����ͨ���ķ�ʽ���� Apache ����

    /usr/local/apache2/bin/apachectl start
    

    ����

    service httpd restart
    

��������IJ�������ʹ Apache 2.�� �� PHP ��Ϊ SAPI ģ���ˡ���Ȼ Apache �� PHP �����кܶ�����ѡ���������Ӧ��Դ����Ŀ¼��ʹ�� ./configure --help ��ø�����Ϣ��

����Ҫ����һ�����̰߳汾�� Apache�����ڱ���ʱѡ���� worker MPM ���滻��׼�� prefork MPM��ֻ��������ĵ� 3 ��ʹ�ã�


--with-mpm=worker

������Ǻ���ȷ�������ĺ�����Ҵ������京��Ļ�����ò�Ҫ������һ����������Ϣ��ο� Apache �ĵ��й��� » MPM-Modules �IJ��֡�

Note:

Apache MultiViews ������������������ PHP ��ʹ�� MultiViews��

Note:

Ҫ������̰߳汾�� Apache��ϵͳ����֧�ֶ��̡߳���Ҳ��ζ����Ҫ�� PHP ����Ϊ����������׶ε� Zend Thread Safety��ZTS������˲��������е���չ������ʹ���ˡ��Ƽ����� Apache ʹ�ñ�׼�� prefork MPM-Module��