【问题标题】:How install and configure manually php and apache?如何手动安装和配置php和apache?
【发布时间】:2015-05-01 06:10:45
【问题描述】:

这样安装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 倍,但我想知道如何以这种方式准确链接这两者。

谢谢。

【问题讨论】:

  • 有什么理由不使用 sudo apt-get install php5?
  • 是的,因为它会安装最新的 PHP 版本。

标签: php linux apache ubuntu configuration


【解决方案1】:

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

LoadModule php5_module modules/libphp5.so

告诉 Apache 将某些扩展解析为 PHP。例如,让 Apache 将 .php 文件解析为 PHP。除了使用 Apache AddType 指令外,我们还希望避免潜在危险的上传和创建的文件(例如exploit.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>

并允许 .phps 文件由 php 源过滤器处理,并显示为语法突出显示的源代码,请使用:

<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

【讨论】:

  • 这本手册的问题是我需要像安装PHP一样安装apache...虽然没有其他选择,但我会尝试一下。
  • 不,不起作用。跟着每一步。不知何故 php 没有被解析。它只是打开 php 页面并将所有内容输出为文本.. Grrr... 这让我发疯了:/
  • 发生这种情况时 apache 不会将 php 作为模块加载
  • @user3722573 我编辑了答案,您可以在此链接中阅读一些解决方案php.net/manual/en/install.unix.apache2.php#92797
  • 那条评论 (php.net/manual/en/install.unix.apache2.php#92797) 拯救了我的一天。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多