Php 通过out定义($DB_DBNAME)可访问性

Php 通过out定义($DB_DBNAME)可访问性,php,Php,我在根目录下的config.php中定义了$DB_DBNAME。有一个头文件需要这个config.php 它必须包含在include'config.php'中,还是必须定义为全局变量,并且可以在任何地方访问 下面是config.php文件 define('DB_NAME', ''); /** MySQL database username */ define('DB_USER', ''); /** MySQL database password */ define('DB_PASSWORD'

我在根目录下的config.php中定义了$DB_DBNAME。有一个头文件需要这个config.php

它必须包含在include'config.php'中,还是必须定义为全局变量,并且可以在任何地方访问

下面是config.php文件

define('DB_NAME', '');

/** MySQL database username */
define('DB_USER', '');

/** MySQL database password */
define('DB_PASSWORD', '');

/** MySQL hostname */
define('DB_HOST', '');
还是我应该用这个


您只需要在入口点(通常是index.php)包含一次配置,它在任何地方都可以访问

要更清楚地自动回答您的评论,包括全局变量或配置,在这种情况下,您可以使用.htaccess文件,或根据您的设置修改php fpm配置,以便在每次请求时自动添加前缀,如下所示:

php_value auto_prepend_file /path/to/config.php

如果它已经在全局范围内,则不需要将其定义为全局。。。如果不显示您的代码,很难判断您是否正在使用名称空间。您的问题实际上是关于使用常量定义或变量,如果您想确保这些细节不发生更改,请使用常量第一个示例,否则请使用变量。回到Q,我可以在不设置主题中config.php的路径的情况下调用它们吗?这取决于主题是如何启动的,为什么不尝试一下呢?在index.php选项1中包含'config.php'之后,我就尝试过了:我做了一个echo DB_主机;它没有回声。选项2:它没有回显主机名\u writehost;我做错了什么?我能避免吗,由于此文件夹是主题,我允许自定义并允许每个人设置新主题。@Matrin因此我必须修改php fpm配置文件,以避免其他设计师设置配置的路径?@x100这取决于您是否可以控制主题的包含并在加载主题之前包含配置如果主题是然后通过ftp上传,我如何控制它?只是请求不要上传,由PHP加载。是否包含“theme.php”?
php_value auto_prepend_file /path/to/config.php