Joe*_*way 19 php configuration environment-variables
我没有在php.ini配置中硬连接某些路径,而是想使用在其他地方共享的系统变量来配置它们,例如我的Apache配置.我已经做了一些搜索,找不到合适的关键字组合来发现是否有办法做到这一点.
有谁知道这是否可以做到?
upload_tmp_dir = $SCRATCH_HOME/uploads
Run Code Online (Sandbox Code Playgroud)
现在SCRATCH_HOME可以在环境中导出为/ tmp或/ var/scratch或者我想要的任何东西.
小智 21
此功能没有很好的记录.在开始之前,我只想指定我的配置:我使用的是Windows 7-64bit,PHP 5.4.3,Apache HTTP Server 2.2.x,我已经设置了我的环境变量PHP_HOME=C:\tools\php-5.4.3
(PHP安装目录).我在我httpd.conf
和php.ini
文件中使用变量
注意:为简洁起见,我将省略一些文字.
在httpd.conf
文件中
# For PHP 5 do something like this:
LoadModule php5_module "${PHP_HOME}/php5apache2_2.dll"
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "${PHP_HOME}"
Run Code Online (Sandbox Code Playgroud)
在php.ini
文件中
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "${PHP_HOME}/ext"
Run Code Online (Sandbox Code Playgroud)
Syn*_*ech 16
根据PHP文档,环境变量确实可以在配置文件中使用.
它没有说明使用什么语法,但它与使用*nix语法的Apache配置文件相同.例如,如果您希望PHP使用系统临时目录,您可以使用:
upload_tmp_dir = ${Temp}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下脚本确认它处于活动状态:
<?php
echo "ini: " . ini_get('upload_tmp_dir') . "\n";
echo "env: " . sys_get_temp_dir() . "\n";
echo "temp: " . getenv('temp') . "\n";
echo "tmp: " . getenv('tmp') . "\n";
?>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22210 次 |
最近记录: |