如何手动安装和配置php和apache


How install and configure manually php and apache?

安装的PHP如下:

wget http://in1.php.net/distributions/php-5.3.28.tar.bz2 tar -xvf php-5.3.28.tar.bz2 cd php-5.3.28 ./configure make make install

像这样安装Apache2:

sudo apt-get install apache2

那么,我现在如何将Apache链接到PHP呢?

PS-我知道我可以将PHP作为一个模块安装,这将更容易100倍,但我想知道如何以这种方式将这两者准确地链接起来。

谢谢。

编辑httpd.conf以加载PHP模块。LoadModule语句右侧的路径必须指向系统上PHP模块的路径。上面的make-install可能已经为您添加了这个,但请务必检查。

LoadModule php5_module modules/libphp5.so

告诉Apache将某些扩展解析为PHP。例如,让Apache将.php文件解析为php。我们不希望只使用Apache AddType指令,而是希望避免潜在的危险上传和创建的文件(如explore.php.jpg)作为php执行。使用这个示例,您可以通过简单地添加任何扩展来将其解析为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>

为了允许php源代码过滤器处理.phps文件,并将其显示为语法突出显示的源代码,请使用以下命令:

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

并重新启动Apache

service httpd restart

您可以在php文档中阅读如何做到这一点

http://php.net/manual/en/install.unix.apache2.php

http://php.net/manual/en/install.unix.apache2.php#92797