我有一个脚本,我正在试图加载一个自定义的php.ini
文件。该脚本通过#!/usr/bin/php -qc /path/to/php.ini
标题在* nix系统上运行。但是,当这样做时,PHP报告加载的php.ini
文件不存在,即没有加载。自定义php.ini当使用#!/ usr/bin/php
如果我在命令行直接执行php -qc /path/to/php.ini /path/to/script
,它拿起php.ini
- 这可能使用#!
符号覆盖php.ini
文件?
我有一个脚本,我正在试图加载一个自定义的php.ini
文件。该脚本通过#!/usr/bin/php -qc /path/to/php.ini
标题在* nix系统上运行。但是,当这样做时,PHP报告加载的php.ini
文件不存在,即没有加载。自定义php.ini当使用#!/ usr/bin/php
如果我在命令行直接执行php -qc /path/to/php.ini /path/to/script
,它拿起php.ini
- 这可能使用#!
符号覆盖php.ini
文件?
PHP不喜欢解析shebang的参数。它只允许一个人在场。但是,您可以通过忽略空间的第一个参数参数绝招吧:(。显然,这种方法仅适用于具有级联参数一个这样的参数)
#!/usr/bin/php -qc/etc/php5/my.ini
尝试过,但它不起作用。 – Carpetsmoker 2011-03-16 21:56:56
可能取决于版本。 (适用于5.3中的php-cgi和php-cli,自4.2 iirc以来,我一直在使用它。) – mario 2011-03-16 22:00:54
是的,它并没有为我去除空间,这是在PHP 5.3.5上,但是你肯定没有理由解析这些论点,所以你明白了! – 2011-03-22 08:22:07
可以解决这个家当便携规范失效通过包装你的PHP脚本在shell脚本:
#!/bin/sh
SCRIPT_PATH="$(dirname $0)"
/usr/bin/env php -qc /path/to/php.ini -f $SCRIPT_PATH/my_original_script.php
你有没有尝试过没有'q'只是为了测试?根据[本](http://www.php.net/manual/en/features.commandline.php#95272),shebang符号似乎有多个选项的问题 – 2011-03-16 21:49:16