我有一個腳本,我正在試圖加載一個自定義的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