אני כבר לא כ"כ בטוח שזה הבעיה כיון שהקוד הבא כן עובד
shell_exec("mkdir test")
וא"כ מדוע הנ"ל לא עובד לי
אני כבר לא כ"כ בטוח שזה הבעיה כיון שהקוד הבא כן עובד
shell_exec("mkdir test")
וא"כ מדוע הנ"ל לא עובד לי
@dovid אמר באיך להגדיר הרשאות לביצוע shell_exec מ PHP:
sudo chown -R www-data /var/www/html/
עשיתי את הנ"ל ואכן כל הקבצים והתקיות קבלו www-data
אבל זה עדיין לא פותר לי את הנ"ל
(כהמשך לזה https://tchumim.com/topic/9746/עזרה-בשגיאה-בהפעלת-תוכנה-בשורת-הפקודה-של-לינוקס/27)
איך להגדיר שאוכל להריץ פקודות shell_exec מתוך קובץ PHP
@nigun אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
php file.php
אכן ניסיתי דרך הטרמינל והצליח
פלט:
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Loading page (1/2)
Printing pages (2/2)
Done
אבל מהדפדפן זה לא מצליח
זה תוכן ה PHP (נקי)
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
print shell_exec("html2pdf reports/test.html reports/test.pdf");
@יוס אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
(וכאמור אם אני מריץ את משורת הפקודה זה כן יוצר את הקובץ)
אלי אין לי את ההרשאות הנדרשים עבור פעולות כאלו ?
לא נוצר הקובץ
@WWW אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
וגם לא נוצר קובץ?
לא נוצר קובץ
(וכאמור אם אני מריץ את משורת הפקודה זה כן יוצר את הקובץ)
@nigun
https://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/
עם זה התקנתי את זה גם בשרת הישן וגם בשרת החדש
@WWW
הורדתי את הסלש הכפול
אבל עדיין לא מחזיר פלט
@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 אמר בעזרה בשגיאה בהפעלת תוכנה בשורת הפקודה של לינוקס:
exec
עשיתי
print exec("html2pdf reports/$XX-$XX.html reports/$XX-$XX.pdf", $output);
print_r($output);
חוזר ריק
Array ( )
הוא לא נותן לי פלט
זה מה שעשיתי
print shell_exec("html2pdf XXXXXXXXXX.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 לא ממיר
ואני מניח שזה מכיוון שהוא עוצר בשגיאה
אני מנסה להפעיל את תוכנת 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 עובד בדברים אחרים בשרת החדש)
אשמח לכל עזרה
תודה
אכן
@yossiz אני פשוט ניגש ל FTP מתוך SSH ולא ע"י תוכנה
@nigun אמר באיך לקבל רשימה של כל הקבצים במבנה שלהם מ FTP:
אפשר לכתוב קוד יחסית פשוט שעובר על כל התיקיות ומקבל את כל התיקיות שתחתיו שוב ושוב
על מה עלי להתבסס כדי לבנות כזה קוד ?
@nigun אמר באיך לקבל רשימה של כל הקבצים במבנה שלהם מ FTP:
SFTP
אפרט
יש לי חיבור ל FTP חיצוני שאינו שלי,
אבל אני רוצה לקבל משם רשימה של התוכן שנמצא שם
(כמו שאני יכול לקבל את רשימת הקבצים שבשרת לינוקס ע"י הפקודה ls -1 -R שנותן את רשימת התקיות וקבצים)
ואני ניגש לFTP מתוך SSH