2017-08-03 2 views
0

Wenn ich diesen Code von meinem Browser ausführen erstellt er die PDF-Datei einwandfrei. Wenn ich als Cron-Job ausgeführt werde, erhalte ich den folgenden Fehler. Ich bin mir sicher, dass dies eine kleine Konfiguration ist, aber ich stehe fest und suche nach Hilfe/Ideen.html2pdf php cron doeswork, wenn es von URL ausgeführt wird, tut es

Auch hier weiß ich, dass die Pfadangabe korrekt ist (zumindest was die Bereitstellung des Codes im Browser betrifft).

Code:

require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php'); 
$Content = stream_get_contents(fopen("$LogURL", "rb")); 

$html2pdf = new HTML2PDF('P','Letter','en', false, 'ISO-8859-15', array(15, 15, 15, 15)); 
$html2pdf->WriteHTML($Content); 
$html2pdf->Output("$FileName.pdf", "F"); 

ERROR:

Warning: fopen (sentlogs/C222P128D2017-08-03.pdf): failed to open stream

Antwort

0

Der Cron-Job wahrscheinlich als läuft anderer Benutzer als Ihr PHP-Dienst oder Webserver. Suchen Sie, welcher Benutzer Schreibberechtigungen für das Verzeichnis sentlogs hat. Das sollte derselbe Benutzer sein, der das Cron-Skript ausführt.

+0

ok friggin brilliant Ich habe nicht daran gedacht, lass mich hineinschauen –

+0

uhg, ok, jetzt bin ich die Erlaubnis landen, dass ich wenig über. Wissen gibt es eine einfache Möglichkeit zu bestimmen, welcher Benutzer es läuft, wenn ein Browser dient URL und wie läuft es in einem Cron Job? –

+0

Wie gesagt, schau dir den Besitzer des sentlogs Verzeichnis an. Wie es vom Browser funktioniert, ist das wahrscheinlich der richtige Benutzer. 'ls -l' sollte es tun. Wie hast du den Cronjob eingerichtet? –

Verwandte Themen