Замена CodeIgniter + nfsn_exec () на exec () на сайте чуть ли не: - PullRequest
0 голосов
/ 14 января 2010

Я использую NearlyFreeSpeech.Net в качестве своего хоста, и мое приложение php (закодированное в CodeIgniter) должно выполнять вызовы exec (). Так как это не разрешено в безопасном режиме, нам дано «специальное» выполнение вещей через Perl-скрипт. Подробности здесь: https://members.nearlyfreespeech.net/wiki/HowTo/PHPExec

Однако выполнение этих инструкций вызывает следующие ошибки CI каждый раз, когда любая команда передается в оболочку exec:

A PHP Error was encountered
Severity: Notice
Message: Constant EXT already defined
Filename: public/index.php
Line Number: 88

A PHP Error was encountered
Severity: Notice
Message: Constant SELF already defined
Filename: public/index.php
Line Number: 89

A PHP Error was encountered
Severity: Notice
Message: Constant FCPATH already defined
Filename: public/index.php
Line Number: 90

A PHP Error was encountered
Severity: Notice
Message: Constant BASEPATH already defined
Filename: public/index.php
Line Number: 91

A PHP Error was encountered
Severity: Notice
Message: Constant APPPATH already defined
Filename: public/index.php
Line Number: 104

и сбой вызова без вывода.

Я знаю, что многие из вас размещены на nfs.n, и многие из вас также используют CodeIgniter ... поэтому я надеюсь, что некоторые из вас будут в обеих категориях и будут нуждаться в выполнении вещей :)

Спасибо!
Мало

1 Ответ

1 голос
/ 14 января 2010

Не имея возможности посмотреть их инструкции, я бы предположил, что они пытаются переопределить константы, которые использует CI. Если вы посмотрите на index.php для CI, вы увидите, что они определяют множество констант, таких как basepath. Посмотрите код, который дает вам их Howto, вы, вероятно, увидите код, пытающийся сделать что-то вроде define('basepath', 'blah');. Вам необходимо удалить их из кода инструкции (при условии, что они совпадают с теми, которые использует CI).

...