Может немного не так описал проблему... Но у меня не отдельный файл со скриптом. Для ясности приведу пример функции process():
public function process($template = null) {
$this->order->order();
objectProxyHelper::includeClass('emarket/classes/payment/api/', 'TinkoffMerchantAPI');
$tinkoff = new TinkoffMerchantAPI($this->getValue('terminal_key'),$this->getValue('password'),$this->getValue('url'));
$amount = $this->order->getActualPrice() * 100;
$orderId = $this->order->getValue('number');
$customerId = $this->order->getCustomerId();
$customer = umiObjectsCollection::getInstance()->getObject($customerId);
$email = $customer->getValue('e-mail');
if(!$email) {
$email = $customer->getValue('email');
}
$params = array('OrderId' => $orderId, 'Amount' => $amount, 'DATA' => 'Email='.$email);
$tinkoff->init($params);
$param = array();
$param['link'] = $tinkoff->paymentUrl;
// Вот этот кусок...
$file = 'log.txt';
$info = 'Параметры: ';
$info .= $params['OrderId'];
$info .= PHP_EOL;
$info .= 'Ссылка: ';
$info .= $param['link'];
$info .= PHP_EOL;
file_put_contents($file, $info);
// ...кода не работает
$this->order->setPaymentStatus('initialized');
list($templateString) = def_module::loadTemplates("emarket/payment/tinkoff/".$template);
return def_module::parseTemplate($templateString, $param);
}
Смущало то, что файл не создавался. Решил проблему, дописав путь к корню: $file = getServer('DOCUMENT_ROOT') . '/log.txt';
Еще как оказалось почему-то в Total Commander не сразу появлялся созданный файл. Только при сбросе и вновь восстановленном соединении с ftp файл отображался. Так что может быть и первоначальный код работал исправно...