标签归档:php

PHP_SELF变量!

假如命令行的地址是:http://www.baidu.com/index.php
那么:
$_SERVER[‘HTTP_HOST’]==’www.baidu.com’
$_SERVER[‘PHP_SELF’]==’/index.php’
明白了吧,一个是主机地址,一个是脚本文件的绝对路径
什么叫经典

php5+apache2.0官方安装说明

这是php源码中自带的INSTALL文件,里面的说明摘录,重要的标识为红色了

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure –enable-so
7.  make
8.  make install

    Now you have Apache 2.0.NN available under /usr/local/apache2,
    configured with loadable module support and the standard MPM prefork.
    To test the installation use your normal procedure for starting
    the Apache server, e.g.:
    /usr/local/apache2/bin/apachectl start
    and stop the server to go on with the configuration for PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php-NN

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure –help for a list of available options.  In our example
    we’ll do a simple configure with Apache 2 and MySQL support.  Your
    path to apxs may differ, in fact, the binary may even be named apxs2 on
    your system.

      ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, ‘make install’ will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini

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

    You may edit your .ini file to set PHP options.  If you prefer having
    php.ini in another location, use –with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module modules/libphp4.so

    For PHP 5:

      LoadModule php5_module modules/libphp5.so

15. Tell Apache to parse certain extensions as PHP.  For example,
    let’s have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We’ll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It’s also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

      AddType application/x-httpd-php-source .phps

16. Use your normal procedure for starting the Apache server, e.g.:

      /usr/local/apache2/bin/apachectl start

   Following the steps above you will have a running Apache 2.0 with
   support for PHP as SAPI module. Of course there are many more
   configuration options available for both, Apache and PHP. For more
   information use ./configure –help in the corresponding source tree. In
   case you wish to build a multithreaded version of Apache 2.0 you must
   overwrite the standard MPM-Module prefork either with worker or
   perchild. To do so append to your configure line in step 6 above either
   the option –with-mpm=worker or –with-mpm=perchild. Take care about
   the consequences and understand what you are doing. For more
   information read the Apache documentation about the MPM-Modules.

     Note: If you want to use content negotiation, read the Apache
     MultiViews FAQ.

     Note: To build a multithreaded version of Apache your system must
     support threads. This also implies to build PHP with experimental
     Zend Thread Safety (ZTS). Therefore not all extensions might be
     available. The recommended setup is to build Apache with the
     standard prefork MPM-Module.
     __________________________________________________________________