2014-06-08 36 views
1

我想了解更多关于PHP和Apache,所以我决定手动安装它们。我不完全明白这两个文件是如何协同工作的(或者他们甚至在这种情况下携手合作)。每当我加载本地主机网页时,php文件的位置都是从我在httpd.conf文件中指定的内容定向的。我为了测试而创建了两个根文件夹,C:/ Users/Alex/test和C:\ Users \ Alex \ My Websites。 Apache实际上并未使用我在php.ini中指定的位置(doc_root =“C:\ Users \ Alex \ My Websites”),而是使用我在httpd.conf中指定的位置(DocumentRoot“C:/ Users/Alex/test“)。任何人都可以请解释什么时候在php.ini中有用的根?PHP的doc_root在php.ini和DocumentRoot在httpd.conf

+0

提示#1:它是由apache运行的php,而不是其他方式。 – zerkms

+0

我明白了,那么我在php.ini中指定的根用于什么? – user3369362

+0

为什么要问是否有可用的文档:http://php.net/manual/en/ini.core.php#ini.doc-root? – zerkms

回答

0

您很可能在Apache内部运行mod_php(这是在Apache下运行PHP的最常见方式)。这意味着PHP环境完全由Apache控制(在Unix环境中,Apache也有自己的用户)。您可以将其重新配置为使用Fast CGI(这是在其他Web服务器(如nginx)下运行PHP的唯一方法),并且该设置将在该类型的设置下进行设置。

这里的manual entry的设置

PHP的服务器上的 “根目录”。仅在非空时使用。如果PHP 配置为安全模式,则此目录外的任何文件都不会被 投放。如果PHP未使用FORCE_REDIRECT编译,则应该设置 doc_root(如果您在任何Web服务器(其他 比IIS)下运行PHP作为CGI)。另一种方法是使用下面的cgi.force_redirect 配置。

+0

我看到的唯一的safe_mode是这样的:[SQL]; http://php.net/sql.safe-mode sql.safe_mode =关...这是一个吗? – user3369362

+0

如果您使用的是PHP 5.4或更高版本(听起来就像您一样),那么您将不会拥有该选项,因为它[已被删除](http://www.php.net/manual/en/) features.safe-mode.php)。 – Machavity