Php 如何从附加的.ini文件中获取值

Php 如何从附加的.ini文件中获取值,php,Php,我有一个ini文件:/etc/php5/apache2/conf.d/appconfig.ini 以下是该文件的内容: serverhost = localhost 我重置了apache2服务器。如何在不指定ini文件路径的情况下从PHP脚本获取该值?我假设当PHP解析这个文件时,它会将serverhost的值存储在可访问的地方。我知道这个文件被解析是因为我运行了php--ini 我尝试了以下脚本: <?php echo ini_get("serverhost"); ?> 但

我有一个ini文件:
/etc/php5/apache2/conf.d/appconfig.ini

以下是该文件的内容:

serverhost = localhost
我重置了apache2服务器。如何在不指定ini文件路径的情况下从PHP脚本获取该值?我假设当PHP解析这个文件时,它会将serverhost的值存储在可访问的地方。我知道这个文件被解析是因为我运行了
php--ini

我尝试了以下脚本:

<?php
echo ini_get("serverhost");
?>

但是什么也没有归还。我可以这样做:

<?php
$file = parse_ini_file("/etc/php5/apache2/conf.d/appconfig.ini");
echo $file["serverhost"];
?>

但我想知道如何将其作为某种环境变量。PHP正确解析了文件吗


毕竟,我将在
appconfig.ini
中存储密码。我想知道存储密码的最佳实践是什么

要保护邮件服务器或SQL server的连接设置,可以将其存储在wwwroot文件夹外的文件中。例如,如果您的站点位于服务器上的
/var/sites/mysite/www
,您将把文件放在一个类似
/var/sites/mysite/\u conf
的目录中。例如,在
/var/sites/mysite/_conf/appconfig.inc.php
中创建一个文件,其中包含:

<?php
$smtpServerHost = 'localhost';
$smtpServerUser = 'user@example.com';
$smtpServerPass = 'Password1';
?>

为什么不在.htaccess文件中设置它呢?
echo('.print\r($\u SERVER,1)。'')有什么作用显示?
php\u value serverhost localhost
@Twisty在哪里可以找到.htaccess文件?另一个原因是,我更愿意为不同的应用程序保留不同的配置文件。当我将它们添加到
php.ini
时,我可以检索它。但当我试图从
conf.d
folder@Twisty我也试过了,但没用
<?php

include_once '../_conf/appconfig.inc.php';
include_ once 'Mail.php';

$smtp = Mail::factory('smtp', array (
  'host' => $smtpServerHost,
  'auth' => true,
  'username' => $smtpServerUser,
  'password' => $smtpServerPassword)
);

$headers['From']    = 'richard@example.com';
$headers['To']      = 'joe@example.com';
$headers['Subject'] = 'Test message';

$mail = $smtp->send($to, $headers, print_r($_POST));

?>