![]() |
שגיאת עם פונקציית COPY של PHP
שלום
במערכת אצלי אני מבצע שימוש עם הפונצקיה copy. בעקבות עידכון גירסת PHP ל 5.2.17 אני מקבל את השגיאה: קוד:
Warning: copy() [function.copy]: Unable to access http://www.www.com in /home/www/domains/www/public_html/ajax.php on line 962 תודה מראש |
השגיאה אומרת שהפונקציה לא מצליחה לגשת לכתובת מסויימת - בא לך להראות את הקוד כדי שנוכל להבין מה הבעיה?
|
הכתובת קיימת בדקתי.
הבעיה הגיעה לאחר עידכון גירסה, בקוד לא שיניתי דבר. השימוש שלי בפונקציה הוא כזה: PHP קוד:
|
דבר ראשון - זה צריך להיות בתוך מרכאות, למרות שאני מאמין שזה ככה בקוד כי אחרת השגיאה היתה שונה
דבר שני - תבדוק בהגדרות PHP (אפשר להריץ phpinfo() ) על מה מוגדר "allow_url_fopen" אם הוא מוגדר על on, תוודא שהכתובת שאתה מכניס היא בלי רווחים, אם כן - צריך להחליף את הרווחים עם %20 |
בקוד זה עם מרכאות כן.
ו allow_url_fopen מוגדר על ON כבר. |
תבדוק אם יש רווח בשם של הקובץ..
אם היית מראה את הקוד המקורי אולי היינו יכולים לדעת אם זו הבעיה מגירסא 5.2.13 ומעלה רווח בשם של הקובץ לא מתקבל. |
ציטוט:
השתמש ב error_reporting לקבלת שגיאה מלאה ציטוט:
|
ציטוט:
Parse error: syntax error, unexpected T_STRING in /home/site/domains/site.co.il/public_html/ajax.php on line 962 |
אז אולי תראה לנו מה יש בשורה 962 במקום שננחש?
|
הנה:
PHP קוד:
PHP קוד:
|
ציטוט:
PHP קוד:
PHP קוד:
|
ציטוט:
|
ציטוט:
הורדת את הפסיק אחרי ה opSmallPic (שינית לנקודה) - הפונקציה copy מקבלת 2 ארגומנטים, אתה שולח 1. זה לא יעבוד. אני לא רואה בעיה בקוד של ה copy שהבחור (פותח האשכול) פרסם. Noam, אתה יכול להציג כמה שורות מעל ומתחת לשורת ה copy? MyDns, את השורה השנייה הוא רשם כדי להדגים איך זה יוצא. הוא לא צריך להוסיף ידנית את המרכאות, הן לא נחוצות... |
הנה הקוד המלא:
PHP קוד:
חשוב לזכור שהקוד הזה עבד, ובגלל שידרוג לגירסה PHP 5.2.17 נוצרה השגיאה. תודה לעוזרים. |
להבא תפרט אני אסתכל על זה יותר לעומק.
|
אם המשתנים מוגדרים כמו שצריך לאחר שכמובן בדקת את זה (תדפיס אותם ותוודא את זה, תראה שהנתיב מופיע כמו שצריך),
ככה"נ מדובר בהגדרה שמונעת מהפונקציה לתפקד, אתה מוזמן לשלוח לי לפרטי פלט של phpinfo() ואבדוק מה קורה שם. (אפשר כמובן גם כאן, בכל מקרה אני ממליץ שלא) |
סוף סוף הבעיה נפתרה.
תודה לכולם, השגיאה הייתה בגלל SAFE MODE. |
כל הזמנים הם GMT +2. הזמן כעת הוא 05:08. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ