【问题标题】:PHP auto includePHP 自动包含
【发布时间】:2012-12-26 00:17:15
【问题描述】:

我想在服务器的每个执行中自动包含一个 PHP 脚本,我希望通过 PHP ini、设置或能够在 php 中编写一个简单的扩展并包含我的 php 脚本。

【问题讨论】:

  • 您正在寻找auto_prepend_file 选项。
  • 如果你把它贴在底部你会得到正确的答案
  • 这怎么跑题了??
  • 这不是题外话。特别是如果它可能与另一个不被视为离题的问题重复。

标签: php


【解决方案1】:

您可以在php.ini 文件中设置auto_prepend_file 指令:

http://php.net/manual/en/ini.core.php#ini.auto-prepend-file

【讨论】:

  • 就像一个魅力我不知道它存在从未见过它以前使用过。
【解决方案2】:

如果运行 Apache 并且可以访问 .htaccess,您可以执行以下操作,否则请查看@Lock 的答案

prepend.php:
<?php
echo "<p>this is the prepended file</p>\n";

main.php:
<?php
echo "<p>this is the main file</p>\n";

append.php:
<?php
echo "<p>this is the appended file</p>\n";

并使用下面的说明添加 prepend.php 和 append.php,当调用 main.php 时,将从脚本中输出以下内容:

<p>this is the prepended file</p>
<p>this is the main file</p>
<p>this is the appended file</p>

并使用下面的说明添加 prepend.php 和 append.php,当调用 main.php 时,将从脚本中输出以下内容:

<p>this is the prepended file</p>
<p>this is the main file</p>
<p>this is the appended file</p>

预置脚本

要添加一个文件以便在主脚本之前对其进行解析,请将以下设置添加到 .htaccess 文件、php.ini(这当然会影响所有网站)或配置:

php_value auto_prepend_file prepend.php

不需要包含路径,但如果不需要,它将使用包含路径来查找它。如果脚本所在的包含路径或目录中没有此文件的副本,这可能会导致类似“警告:未知:无法打开流:第 0 行的未知中没有此类文件或目录”之类的错误。所以最好获得前置文件的完整路径。 附加脚本

这与添加脚本几乎相同,并且适用相同的注释。追加文件的方式如下:

php_value auto_append_file append.php

覆盖设置,因此没有任何内容被预先或附加

如果您需要覆盖现有的 auto_append_file 或 auto_prepend_file 设置,您可以将值设置为“none”,如下所示:

php_value auto_prepend_file none
php_value auto_append_file none

如果您希望 .htaccess 在网站的根级别设置附加/前置文件,但又希望特定子目录不执行附加或前置操作,这可能很有用。您将在该子目录中创建一个新的 .htaccess 文件,如上所述将它们设置为 none。

来源:http://www.electrictoolbox.com/php-automatically-append-prepend/

【讨论】:

  • 我之前也想过这样的事情,但它适用于可能在 apache 或 nginx 或他们选择的任何东西上的客户端。
【解决方案3】:

如果您使用的是 Apache 并且可以使用该解决方案,则另一种解决方案是使用 .htaccess。我加一行:

php_value include_path "/var/www/mysite.com/config"

然后在我的 PHP 文件中,我可以包含

include_once('someconfig.php');

/var/www/mysite.com/config/ 中查找。诚然,我是在不知道自动前置解决方案的情况下完成此操作的——它看起来更清洁、更高效。

【讨论】:

  • 这也是我的第一个想法,但我不想将该行添加到所有文件中,我希望它是全局的,因此不需要对脚本进行任何修改,只需要在服务器级别进行跨度>
猜你喜欢
  • 2018-05-25
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2011-08-15
  • 2017-03-24
  • 2013-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多