我想在服务器的每次执行中自动包含一个PHP脚本,我正在通过PHP ini,通过设置或能够在php中编写一个简单的扩展并包含我的PHP脚本。
答案 0 :(得分:18)
您可以在auto_prepend_file
文件中设置php.ini
指令:
答案 1 :(得分:4)
如果运行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在网站的根级别设置append / prepend文件,但希望特定的子目录不执行追加或前置,则此功能非常有用。您将在该子目录中创建一个新的.htaccess文件,如上所述将它们设置为none。
来源:http://www.electrictoolbox.com/php-automatically-append-prepend/
答案 2 :(得分:3)
另一个解决方案,如果您使用的是Apache,那么可以使用.htaccess
。我添加一行:
php_value include_path "/var/www/mysite.com/config"
然后在我的PHP文件中,我可以包含
include_once('someconfig.php');
查看/var/www/mysite.com/config/
。不可否认,我在不知道自动前置解决方案的情况下做到了这一点 - 它看起来更清晰,更有效。