עזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס
-
אני מנסה להפעיל את תוכנת html2pdf
עם הקוד הזהhtml2pdf XXXXXXXXX.html XXXXXXXXX.pdf
הקוד בסוף ממיר את הקובץ
אבל מביא את השגיאה הבאהlibpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile Loading page (1/2) Printing pages (2/2) Done והבעיה המרכזית שלי היא שאני מפעיל את התוכנה ב PHP ע"י הקוד הבא
shell_exec("html2pdf XXXXXXXXX.html XXXXXXXXX.pdf");
זה לא ממיר את הקובץ
וכל זה עבד לי בשרת אחר
אבל כעת כשאני מעביר את זה לשרת חדש זה לא עובד לי
(אפי' ש shell_exec עובד בדברים אחרים בשרת החדש)אשמח לכל עזרה
תודה -
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
אבל כעת כשאני מעביר את זה לשרת חדש זה לא עובד לי
(אפי' ש shell_exec עובד בדברים אחרים בשרת החדש)
אשמח לכל עזרה
תודהאתה חייב להשיג את הפלט של הפקודה, בלי זה לא תדע כלום.
כנראה התוכנה לא מותקנת בשרת החדש טוב.
הקודhtml2pdf XXXXXXXXX.html XXXXXXXXX.pdf
עובד בשרת החדש?
-
זה הפלט בשרת החדש כנ"ל
libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile Loading page (1/2) Printing pages (2/2) Done ובשרת החדש משורת הפקודה זה ממיר אבל הבעיה המרכזית היא שהPHP לא ממיר
ואני מניח שזה מכיוון שהוא עוצר בשגיאה -
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
ואני מניח שזה מכיוון שהוא עוצר בשגיאה
לא נראה לי.
תביא אתץ הפלט של shell_exec -
הוא לא נותן לי פלט
זה מה שעשיתיprint shell_exec("html2pdf XXXXXXXXXX.html XXXXXXXXX.pdf"); -
@WWW אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
exec
עשיתיprint exec("html2pdf reports/$XX-$XX.html reports/$XX-$XX.pdf", $output); print_r($output); חוזר ריק
Array ( )
-
@WWW אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
מוחלט
לא שינה
$file = __DIR__ . DIRECTORY_SEPARATOR; print exec("html2pdf $file/reports/$XX-$CC.html $file/reports/$XX-$XX.pdf", $output); שזה יוצר את הנתיב המוחלט
html2pdf /var/www/html/XX//reports/XX-XX.html /var/www/html/XX//reports/XX-XX.pdf
והפלט ריק כנ"ל
-
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
@WWW אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
מוחלט
לא שינה
$file = __DIR__ . DIRECTORY_SEPARATOR; print exec("html2pdf $file/reports/$XX-$CC.html $file/reports/$XX-$XX.pdf", $output); שזה יוצר את הנתיב המוחלט
html2pdf /var/www/html/XX//reports/XX-XX.html /var/www/html/XX//reports/XX-XX.pdf
והפלט ריק כנ"ל
מה זה 2 הסלשים?
XX//reports -
@nigun
https://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/
עם זה התקנתי את זה גם בשרת הישן וגם בשרת החדש -
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
@WWW
הורדתי את הסלש הכפול
אבל עדיין לא מחזיר פלטוגם לא נוצר קובץ?
-
@WWW אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
וגם לא נוצר קובץ?
לא נוצר קובץ
(וכאמור אם אני מריץ את משורת הפקודה זה כן יוצר את הקובץ) -
לא נוצר הקובץ
-
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
(וכאמור אם אני מריץ את משורת הפקודה זה כן יוצר את הקובץ)
אלי אין לי את ההרשאות הנדרשים עבור פעולות כאלו ?
-
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
אלי אין לי את ההרשאות הנדרשים עבור פעולות כאלו ?
כנראה.
אבל למה לא מוצג שגיאה?
תגדיר בתחילת הקוד שיציג את כל השגיאות.
אם אין הרשאה, אמור להיות שגיאה משהו כמו זה:exec() has been disabled for security reasons in
1/28