��װ��������

���°����˰�װ PHP �ij������⡣PHP �������ڼ����κβ���ϵͳ�����ܳ��� OS X ֮ǰ�� MacOS ֮�⣩���Լ������κ� web ��������

Ҫ��װ PHP���밴�� ��װ������һ���е�ָʾ���С�

  1. Ϊʲô��Ӧ����ʵ�����������е� Apache2 ��ʹ���̻߳��� MPM��
  2. Unix/Windows��Ӧ�����Ķ�ȥ���ҵ� php.ini �ļ���
  3. Unix���Ұ�װ�� PHP����ÿ���Ҵ�һ��ҳ��ʱ��ֻ�õ�һ��“Document Contains No Data”��Ϣ��������ô���£�
  4. Unix���Ҵ� RPMS ��װ�� PHP������ Apache ������ PHP ҳ�棡������ô���£�
  5. Unix���Ҵ� RPMS ��װ�� PHP 3������û�а�����Ҫ�����ݿ�֧�ֱ����ȥ��������ô���£�
  6. Unix���Ҹ� Apache ������ FrontPage extensions ��������� PHP ͻȻ�������ˡ�PHP �� Apache FrontPage extensions ������
  7. Unix/Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ���һ���հ�ҳ�档
  8. Unix/Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ���һ���������� 500 ����
  9. ijЩ����ϵͳ�����Ѿ��ڲ����������°�װ�� PHP���������������� Apache ʱ�õ���һ��δ������Ŵ��� [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  10. Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ����´��� cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  11. Windows�����Ѿ��������е�˵�����ˣ������Dz����� PHP �� IIS һ������
  12. ���� IIS��PWS��OmniHTTPD ���� Xitami ���� CGI ��ʽ���� PHP ʱ���������´��� Security Alert! PHP CGI cannot be accessed directly..
  13. ������֪�ҵ� php.ini �Ƿ��ҵ���Ӧ���ˣ��ƺ��������޸Ķ�û����Ч��
  14. ������ PHP Ŀ¼���뵽 Windows ·�� PATH��ȥ��
  15. ����ʹ php.ini �ļ��� Windows �±� PHP ���ã�
  16. �п���ʹ PHP ������ Apache �� content negotiation��MultiViews ѡ���
  17. PHP �Ƿ�����ڴ��� GET �� POST ���󷽷���
Ϊʲô��Ӧ����ʵ�����������е� Apache2 ��ʹ���̻߳��� MPM��

PHP ��ճ�ϼ���������ʮ�ֵ������Ŀ�ճ�ϵ�һ���������ܿ�� web Ӧ�ã���ͨ����ֱ��������ѧϰ�����Խ���ʹ�俴��ȥ����һ�����塣PHP �������ǿ�������ڵײ�ƽ̨���ȶ������á�������Ҫ��һ���������IJ���ϵͳ��һ���������� web �������Լ��������ĵ�������ճ�������������κ�һ���������ˣ�PHP ����Ҫ�з�����ʶ������Ⲣ�ҿ��ٽ�������û����ȫ������ִ���̣߳���ȫ�������ڴ浥Ԫ���ȶ��Ŀռ�Ը�ÿ�������ǵײ�ܹ���̫���������ڲ��ȶ����ظ����׽��뵽 PHP ϵͳ�С�

�������Ҫ���̻߳��� MPM������ FastCGI ���ã�ʹ PHP �������Լ��������ڴ�ռ��С�

�����Ҫָ������ʹ���̻߳� MPM �ľ����� Windows ϵͳ��û��ôǿ�ң���Ϊ Windows �еĴ�����ⶼ��Ӧ�ڶ��߳��°�ȫ���С�

Unix/Windows��Ӧ�����Ķ�ȥ���ҵ� php.ini �ļ���

UNIX ��Ĭ���� /usr/local/libĿ¼�У�Ҳ���� <install-path>/lib���ܶ��˻��ڱ���ʱͨ�� --with-config-file-path������ı�·����������Խ�·����Ϊ��

--with-config-file-path=/etc
Ȼ��ӷ��а��н� php.ini-dist����Ϊ /etc/php.ini���༭����������Ҫ���޸ġ�

--with-config-file-scan-dir=PATH

Windows �� php.ini �ļ���Ĭ��·���� Windows Ŀ¼�¡����ʹ�õ��� Apache ����������������� Apache �İ�װĿ¼��Ѱ�� php.ini������ C:\Program Files\Apache Group\Apache������ͬһ̨�����ϲ�ͬ�汾�� Apache �Ϳ����в�ͬ�� php.ini �ļ���

�μ� �����ļ���

Unix���Ұ�װ�� PHP����ÿ���Ҵ�һ��ҳ��ʱ��ֻ�õ�һ��"Document Contains No Data"��Ϣ��������ô���£�

�������ζ�� PHP ������ij������������ core dump���鿴�������Ĵ�����־�����Dz�������������һ��С�IJ��������������ִ����⡣��������"gdb"�Ļ�����ô�� bug �������ṩ���ݸ��ٺ������ڰ↑����Ա�������⡣������� Apache ��ģ�鷽ʽʹ�� PHP��������ô����

  • ֹͣ httpd ����

  • gdb httpd

  • ֹͣ httpd ����

  • > run -X -f /path/to/httpd.conf

  • Ȼ�������������з��ʵ��´���� URL

  • > run -X -f /path/to/httpd.conf

  • ��������� core dump��gdb ��ʱ�ͻ�֪ͨ��

  • ���룺bt

  • ��Ӧ���� bug �����а�������׷�ټ�¼��Ӧ���ύ�� » https://bugs.php.net/

�����Ľű�ʹ����������ʽ������ ereg()�ȣ���Ӧ��ȷ���ڱ��� PHP �� Apache ʱʹ����ͬһ��������ʽ������ PHP �� Apache 1.3.x ��Ӧ���Զ�����������

Unix���Ҵ� RPMS ��װ�� PHP������ Apache ������ PHP ҳ�棡������ô���£�

�ٶ���� Apache �� PHP ���Ǵ� RPM ���а�װ�ģ�����Ҫ�� httpd.conf �ļ���ȡ�����²��ֻ������е�ע�ͣ����߰�������ӵ����ļ��У�

# Extra Modules
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php3_module        modules/libphp3.so     # for PHP 3
LoadModule php4_module        modules/libphp4.so     # for PHP 4
LoadModule perl_module        modules/libperl.so
���Ұѣ�
AddType application/x-httpd-php3 .php3    # for PHP 3
AddType application/x-httpd-php .php      # for PHP 4
��ӵ�ȫ�������У�������ӵ���ϣ������ PHP ֧�ֵ��������С�

Unix���Ҵ� RPMS ��װ�� PHP 3������û�а�����Ҫ�����ݿ�֧�ֱ����ȥ��������ô���£�

���� PHP 3 �����ԭ�򣬲����ױ����һ����ȫ���� PHP RPM ��������������� PHP 4 �н���ˡ����� PHP 3 ��˵������Ŀǰ�������� PHP ���а��� INSTALL.REDHAT �ļ����������Ļ��ơ��������Ҫ�� PHP 3 �� RPM �汾����������¿���

Ϊ�˼򻯰�װ �Լ����� RPMS ʹ���� /usr/ �����DZ�׼�� /usr/local/ Ŀ¼������ļ������� RPM �������趨 RPMS ����װ�κ����ݿ�֧�֡�����Ҫ���� RPM ˵���ļ�������Ҫ֧���ĸ����ݿ��Լ�������ݿ��������߲�·����

��������ӽ�˵���������ģ�鰲װ�µ� Apache �м������е� MySQL ���ݿ������֧�ֵĹ��̡�

��Ȼ��Щ��Ϣ���Ե��������κ� PHP ֧�ֵ����ݿ������������������Ҳ�ٶ���� RPMS ��������װ�� MySQL �� Apache��

  • ��ȥ�� mod_php3��

    rpm -e mod_php3

  • Ȼ��ȡ��Դ�ļ��� rpm ������װ���������DZ�������

    rpm -Uvh mod_php3-3.0.5-2.src.rpm

  • ���ű༭ /usr/src/redhat/SPECS/mod_php3.spec�ļ�

    �� %build һ�ڼ�������Ҫ�����ݿ�֧�֣��Լ�·����

    ��Ӧ�� MySQL ��Ӧ�ü��� --with-mysql=/usr ���� %build һ�ڿ���ȥ������������

    ./configure --prefix=/usr \ --with-apxs=/usr/sbin/apxs \ --with-config-file-path=/usr/lib \ --enable-debug=no \ --enable-safe-mode \ --with-exec-dir=/usr/bin \ --with-mysql=/usr \ --with-system-regex

  • һ�����������޸ģ����������������Ƴ���� rpm ����

    rpm -bb /usr/src/redhat/SPECS/mod_php3.spec

  • Ȼ��װ rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm

ȷ������������ Apache��������������� RPM ��װ�IJ��Ҵ� MySQL ֧�ֵ� PHP 3 �ˡ�ע�ⰴ�� PHP 3 ���а��� INSTALL.REDHAT�ļ���˵����������ʵҲ�������һЩ��

Unix���Ҹ� Apache ������ FrontPage extensions ��������� PHP ͻȻ�������ˡ�PHP �� Apache FrontPage extensions ������

���ݵġ�PHP ���Ժ� FrontPage extensions һ������������ FrontPage �����޸��˼��� PHP ������ Apache ���졣�� FrontPage ������װ֮��֮�����±��� PHP����"make clean ; make"�����Խ�������⡣

Unix/Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ���һ���հ�ҳ�档

��������е�"�鿴Դ�ļ�"������ܻᷢ���ܿ��� PHP �ű���Դ��������ζ�� web ������û�аѽű����͸� PHP ���͡�������������ij�������⣬����� PHP ��װ˵����ϸ�����������á�

Unix/Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ���һ���������� 500 ����

���������������� PHP ʱ���˴�Ҫ�뿴��������Ĵ�����Ϣ������������ת�� PHP ��ִ�г���Windows ���� php.exe������Ŀ¼�²����� php -i����� PHP �������κ����⣬��ô����ʾ��Ӧ�Ĵ�����Ϣ���⽫������һ��Ҫ��ʲô�������������õ�����Ļ HTML ���루 phpinfo()������������Ļ�˵�� PHP ���������������������ܺ���ķ����������йأ�Ҫ��ϸ��顣

ijЩ����ϵͳ�����Ѿ��ڲ����������°�װ�� PHP���������������� Apache ʱ�õ���һ��δ������Ŵ���
[mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress

��ʵ���Ϻ� PHP û�й�ϵ������ MySQL �Ŀͻ��˿��йء��е���Ҫ --with-zlib ���еIJ���Ҫ���������Ҳ������ MySQL �� FAQ �С�

Windows�����Ѿ���װ�� PHP������������ͨ����������� PHP �ű�ʱ���õ����´���
cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

���������Ϣ��ζ�� PHP �����Ͳ��ܲ����κ������Ҫ�뿴��������Ĵ�����Ϣ������������ת�� PHP ��ִ�г���Windows ���� php.exe������Ŀ¼�²����� php -i����� PHP �������κ����⣬��ô����ʾ��Ӧ�Ĵ�����Ϣ���⽫������һ��Ҫ��ʲô�������������õ�����Ļ HTML ���루 phpinfo()������������Ļ�˵�� PHP ������������

һ�� PHP ���������й�������������ͨ��������ٴη��ʽű��������ʧ�ܵĻ��ǿ���������ԭ��֮һ��

  • �ļ�Ȩ�����⣬��� PHP �ű��� php.exe�� php4ts.dll��php.ini ���κ���Ҫ���ص� PHP ��չ�������� internet �û� ISUR_<machinename>��Ȩ���ʵġ�
  • �ű��ļ������ڣ������п��ܲ�������Ϊ�ĵط���ע�� web �ĵ���Ŀ¼����ע���� IIS ��ͨ�� Internet ����������趨�ű�ӳ��ʱѡ��"����ļ��Ƿ����"���Բ�׽���˴�������һ������ű��ļ������ڵĻ��������ͻ᷵��һ�� 404 ������Ϣ������һ������ĺô����� IIS ����� NTLanMan Ȩ��������Խű��ļ����κ�����Ҫ����֤��
Windows�����Ѿ��������е�˵�����ˣ������Dz����� PHP �� IIS һ������

ȷ����Ҫ���� PHP �ű����κ��û���Ȩ������ php.exe��IIS ʹ����һ���ڰ�װ IIS ʱ��ӵ������û�������û���Ҫ�з��� php.exe��Ȩ�ޡ�ͬ���κ���֤�û�Ҳ��Ҫִ�� php.exe��Ȩ�ޡ��� IIS4 ���㻹��Ҫ������ PHP ��һ���ű����档���⣬����ܻ���Ҫ�Ķ� �˳���������

���� IIS��PWS��OmniHTTPD ���� Xitami ���� CGI ��ʽ���� PHP ʱ���������´��� Security Alert! PHP CGI cannot be accessed directly..

���뽫 cgi.force_redirectѡ����Ϊ 0�� Ĭ��ֵΪ 1�����Ҫȷ�ϴ�ѡ��û�б�ע�͵����� ;����������ѡ��һ�������� php.ini ���趨�ġ�

��ΪĬ��ֵ�� 1����������ٷ�֮��ȷ��ʹ������ȷ�� php.ini �ļ�����ϸ��Ϣ���Ķ� �˳���������

������֪�ҵ� php.ini �Ƿ��ҵ���Ӧ���ˣ��ƺ��������޸Ķ�û����Ч��

Ҫȷ����� php.ini �� PHP ʹ���ˣ����� phpinfo()���ڽӽ���ͷ��λ����һ����� Configuration File (php.ini)�����ォ������ PHP �������ҵ��� php.ini �����Ƿ�ʹ���ˡ����ֻ��ʾһ��Ŀ¼�� û��ʹ���κ� php.ini �ļ�����Ӧ����� php.ini �ļ��ŵ���Ŀ¼�С���� php.ini �����ڸ�·���������ѱ�Ӧ���ˡ�

��� php.ini ��ʹ���˲���������ģ�鷽ʽ���� PHP �ģ�ȷ�����޸��� php.ini ֮������������� web server��

������ PHP Ŀ¼���뵽 Windows ·�� PATH��ȥ��

�� Windows NT��2000��XP �� 2003 �£�

  • ���������岢��"ϵͳ"ͼ�꣨��ʼ -> ���� -> ������� -> ϵͳ��Windows XP/2003 ���ǣ���ʼ -> ������� -> ϵͳ��

  • ѡ��"�߼�"��ǩҳ

  • ���"��������"��ť

  • ��"ϵͳ����"����

  • �ҵ� Path ��һ�������Ҫ���¹��������ҵ���

  • ���˫�� Path ��һ��

  • ����������� PHP Ŀ¼������ǰ���";"�����磺 ;C:\php��

  • ���"ȷ��"��������������

�� Windows 98/Me ����Ҫ�༭ autoexec.bat�ļ���

  • �򿪼��±�����ʼ -> ���У�Ȼ������ notepad ����ȷ����

  • �� C:\autoexec.bat�ļ�

  • �ҵ���ôһ�У�PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... ���������� ;C:\php

  • �����ļ���������������

Note: ��ס�������޸�֮��������������ȷ���� PATH�ĸı���Ч��

PHP �ֲ��ȥ�ᳫ���ļ������� Windows ϵͳĿ¼��ȥ��������Ϊ��Ŀ¼�� C:\Windows�� C:\WINNT���ȵȣ�Ĭ�Ͼ���ϵͳ·���С����ǰ��ļ������� Windows ϵͳĿ¼����һ��ʽ���Ѳ����ᳫ��������������⡣

����ʹ php.ini �ļ��� Windows �±� PHP ���ã�

�м��ַ��������ʹ�� Apache���Ķ�ר�ŵİ�װָʾ�� Apache 1�� Apache 2��������ͱ����趨 PHPRC����������

�� Windows NT��2000��XP �� 2003 �֣�

  • ���������岢��"ϵͳ"ͼ�꣨��ʼ -> ���� -> ������� -> ϵͳ��Windows XP/2003 ���ǣ���ʼ -> ������� -> ϵͳ��

  • ѡ��"�߼�"��ǩҳ

  • ���"��������"��ť

  • ��"ϵͳ����"����

  • ���"�½�"��ť����"������"������"PHPRC"����"����ֵ"������ php.ini �ļ����ڵ�Ŀ¼�����磺 C:\php��

  • ���"ȷ��"��������������

�� Windows 98/Me ����Ҫ�༭ autoexec.bat�ļ���

  • �򿪼��±�����ʼ -> ���У�Ȼ������ notepad ����ȷ����

  • �� C:\autoexec.bat�ļ�

  • ���ļ���β������һ�У� set PHPRC=C:\php���� C:\php�滻Ϊ��� php.ini ʵ�ʴ��ڵ�Ŀ¼����ע��·���в��ܰ����ո����罫 PHP ��װ���� C:\Program Files\PHP�У�����Ҫ���� C:\PROGRA~1\PHP���֮

  • �����ļ���������������

�п���ʹ PHP ������ Apache �� content negotiation��MultiViews ѡ���

����� PHP �ļ������Ӱ�����չ����һ�ж����������������ֻ��Ե� PHP �ļ������Ӳ�������չ��ʱ����ϣ��ͨ�� content negotiation ���Ӳ�������չ���� URL ��ѡ�� PHP �ļ���������ڴ�������£��� AddType application/x-httpd-php .php�滻Ϊ��

# PHP 4
AddHandler php-script php
AddType text/html php

# PHP 5
AddHandler php5-script php
AddType text/html php
�˷������� Apache 1 �����ã���Ϊ PHP ģ�鲻���� php-script��

PHP �Ƿ�����ڴ��� GET �� POST ���󷽷���

���ǣ�PHP �п��ܴ����κ����󷽷������� CONNECT���ʵ��Ļ�Ӧ״̬������ header()���͡��������Ҫ���� GET �� POST ����������ͨ�����µ� Apache ����ʵ�֣�

<LimitExcept GET POST>
Deny from all
</LimitExcept>