HTML2PDF - fopen() не удалось открыть поток: разрешение отклонено в /html2pdf/_tcpdf_5.0.002/tcpdf.php в строке 6168

У меня возникла проблема с библиотекой HTML2PDF (я использую PHP с Zend Framework 2).

Я нахожусь на выделенном сервере Linux Ubuntu, и папка назначения для моего файла .pdf получила chmod 777. Я даже пробовал chmod 666 ... но все равно получаю ту же ошибку:

[предупреждение] [клиент ..*.*] mod_fcgid: stderr: Предупреждение PHP: fopen(/my_absolute_path/file.pdf): не удалось открыть поток: Отказано в доступе к /my_absolute_path/html2pdf/_tcpdf_5. 0.002/tcpdf.php в строке 6168

Есть ответы? Большое спасибо

ИЗМЕНИТЬ

@Novocaine88, ты прав :-)

Вот мой очень простой код:

// Set the file path
$path = ROOT_PATH.'/data/myFolder_chmod_777/file.pdf';

// Create the pdf document
require_once ROOT_PATH . '/vendor/html2pdf/html2pdf.class.php';
$pdf = new \HTML2PDF('P', 'A4', 'fr');

// Get the content
$content = $this->getHtmlContent($required_param);

// Forge PDF doc
$pdf->WriteHTML($content);

// Save doc
$pdf->Output($path, 'F');

Это (приблизительно) код, который я получаю с официального сайта HTML2PDF (http://html2pdf.fr/example ). Когда я использую его на своей локальной машине, все работает нормально, но на удаленном сервере...

РЕШЕНИЕ

Прочитав свой код сто раз, я нашел проблему. Это глупо, я не правильно указал путь.

Вот код:

// Set the file path
$path = ROOT_PATH.'/data/folder/myFolder_chmod_777/file.pdf';

Это работает сейчас!


person kevin.jalais    schedule 05.12.2013    source источник
comment
почему бы не показать код, может поможет...   -  person Novocaine    schedule 05.12.2013
comment
Возможный дубликат PHP - Не удалось открыть поток: нет такого файл или каталог   -  person Vic Seedoubleyew    schedule 11.09.2016


Ответы (1)


Кстати, вы можете опустить константу ROOT_PATH.

Загляните в файл public/index.php вашего ZF2.

/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

Таким образом, ваш код также должен работать с

// Set the file path
$path = '/data/folder/myFolder_chmod_777/file.pdf';
person Markus Schindler    schedule 06.12.2013