【问题标题】:Accessing php code outside public_html folder访问 public_html 文件夹外的 php 代码
【发布时间】:2013-01-18 04:19:09
【问题描述】:

我正在尝试使用 Twitter 引导程序作为前端和 PHP 作为背后的代码来设置一个新网站。

我使用的目录结构如下,相当标准

c:\xampp\htdocs\app
c:\xampp\htdocs\app\application\configs
c:\xampp\htdocs\app\application\modules
c:\xampp\htdocs\app\data\
c:\xampp\htdocs\app\data\logs
c:\xampp\htdocs\app\data\sessions
c:\xampp\htdocs\public_html\
c:\xampp\htdocs\public_html\css
c:\xampp\htdocs\public_html\js
c:\xampp\htdocs\public_html\img

我的 Apache 配置相当简单,包括

<VirtualHost *:80>

ServerName vinner.localhost
DocumentRoot C:/xampp/htdocs/app/public_html
SetEnv APPLICATION_ENV "development"
<Directory C:/xampp/htdocs/app/public_html> 
    DirectoryIndex index.php index.html index.htm \
               default.php default.asp default.shtml default.html default.htm \        AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

以前我将 PHP 代码放在 /public_html 文件夹中,但这显然不是很好的做法,因此我已将其移至 c:\xampp\htdocs\app\application\modules 但我不知道如何将 POST 查询直接指向 PHP 页面,或创建通用 PHP 模板/包含文件,以便轻松访问我的 PHP 页面。

【问题讨论】:

  • 为什么php在public_html之外?
  • 任何用于处理直接输入或直接输出内容的 PHP 文件都应该在 public_html 中,其他任何东西都应该在 webroot 包含、库等之外...您不应该将所有内容移到外面因为那没有任何意义。
  • @crypticツ,为什么不呢?在 webroot 中有 .js 或 .css 文件,那么里面的最小代码说,index.php 来引用外部 .php 文件肯定会很好地工作吗?
  • @Chud37 我想你误会了我,因为这就是我的意思。

标签: php html twitter-bootstrap


【解决方案1】:

您应该在“public_html”目录中有一个文件,通常称为“index.php”。然后,您的 Web 服务器规则(例如 .htaccess 或服务器配置)将所有请求(或者可能所有不针对“public_html”中存在的文件的请求)指向该“public_html/index.php”。这通常是“public_html”下唯一的 PHP 文件,但有时可能有多个用于不同目的(例如,用于提供图像的不同文件)。

从那里您可以使用相对路径包含其余代码,以下每个都是等效的(“public_html/index.php”中的代码):

include __DIR__ . '/../application/[application-code].php';

还有:

include dirname(__DIR__) . '/application/[application-code].php';

“application-code”是应用程序的入口点,通常命名为“bootstrap.php”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-30
    • 2016-10-04
    • 2015-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多