【发布时间】:2019-12-12 13:59:04
【问题描述】:
环境变量用于设置PHP应用程序,应用程序运行流畅。 我面临的问题是当我尝试引用应用程序的数据库连接文件并从 CLI 运行它时。
Apache 设置:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName server.hostname.com
SetEnv HOSTNAME 'hostname'
SetEnv USERNAME 'username'
SetEnv DB_PASSWORD 'password'
SetEnv DB_NAME 'databaseName'
</VirtualHost>
环境变量存储所有与连接相关的数据,并且连接正在引用它。
连接:
<?php
$username = $_SERVER['USERNAME'];
$password = $_SERVER['DB_PASSWORD'];
$hostname = $_SERVER['HOSTNAME'];
$database = $_SERVER['DB_NAME'];
error_reporting(0);
$mysqli = new mysqli($hostname, $username, $password, $database);
但是,当我从 CLI 运行它时,它不会获取环境变量,并且由于同样的原因,它也不允许我运行在服务器上设置的 cronjobs。
【问题讨论】:
标签: php apache command-line scripting