Замена CodeIgniter + nfsn_exec() на exec () на сайте чуть ли не:

Я использую 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 ответ

Решение

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

Другие вопросы по тегам