לא מצליח ליצור אובייקטים-כנראה

rozeyoter

New member
לא מצליח ליצור אובייקטים-כנראה

יש לי PWS וביצעתי התקנה של PHP שאמורה להיות מותאמת אליו מערכת הפעלה חלונות (כמובן). ניסיתי לעבוד עם פונקציות SOCKET ואני מקבל שגיאות. צרפתי כאן את השגיאה וקוד המקור (שלקוח מהאתר של PHP) מישהו יכול להגיד לי מה סיבת השגיאה ואיך טני מתגבר על הבעיה? בברכה. the error: =============================== TCP/IP Connection Fatal error: Call to undefined function: socket_create() in C:\Inetpub\wwwroot\php2\default.php on line 13 the script code: ================================ <?php error_reporting (E_ALL); echo "<h2>TCP/IP Connection</h2>\n"; /* Get the port for the WWW service. */ $service_port = getservbyname (´www´, ´tcp´); /* Get the IP address for the target host. */ $address = gethostbyname (´www.php.net´); /* Create a TCP/IP socket. */ $socket = socket_create (AF_INET, SOCK_STREAM, 0); if ($socket < 0) { echo "socket_create() failed: reason: " . socket_strerror ($socket) . "\n"; } else { "socket_create() successful: " . socket_strerror ($socket) . "\n"; } echo "Attempting to connect to ´$address´ on port ´$service_port´..."; $result = socket_connect ($socket, $address, $service_port); if ($result < 0) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n"; } else { echo "OK.\n"; } $in = "HEAD / HTTP/1.0\r\n\r\n"; $out = ´´; echo "Sending HTTP HEAD request..."; socket_write ($socket, $in, strlen ($in)); echo "OK.\n"; echo "Reading response:\n\n"; while (socket_read ($socket, $out, 2048)) { echo $out; } echo "Closing socket..."; socket_close ($socket); echo "OK.\n\n"; ?>
 

nirdagan

New member
אולי הפונקציה לא קיימת בגרסת ה-PHP

שאתה משתמש בה. המדריך המקוון אומר במפורש שזו פונקציה ניסיונית, ושולח אותך לקרוא במדריכי Unix על השימשו בה. ניר
 

cyberseal

New member
זה לא שהיא לא קיימת אלא ...

... ההרחבה של sockets לא מקומפלת בתור ברירת מחדל ביחד עם ה PHP . על מנת לקמפל מחדש, הורד את קוד המקור של PHP, ... אם אני לא טועה, זה אמור להראות בערך ככה : configure --enable-sockets + המשך רשימת האופציות האהובות עליך. make make install ההפצה הרישמית מופצת כשברירת המחדל לא כוללת את sockets כי כמו שנאמר כאן, מדובר במודול נסיוני ויתכנו שינויים ב API שלו בעתיד. כמו כן, אם ברצונך לבצע את הפעולה הזו מספר פעמים ולחסוך את זמן הקימפול וגם לעבוד בצורה יותר מסודרת, אתה יכול להוריד את ה SRPM ולערוך את קובץ ה SPEC שלו כדי שיקמפל עם תמיכה ב sockets ואז לבנות את החבילה מחדש.
 

rozeyoter

New member
PHP-NUKE

אני רואה שמדובר פה הרבה על PHP-NUKE למיטב ידיעתך/ידיעת מישהו אחר, שם יש את האופציה הזו, או דומה לה בגרסא האחרונה? בברכה.
 

תמר,

New member
php nuke

זו מערכת שכתובה ב-php, ומתבססת על הפונקציות הקיימות ב-php. בעניין ה-socket, ניתן לקמפל את המודול בנפרד ולהעלות אותו עם הפונקציה dl - כך שלא צריך לקמפל מחדש את ה-php. (אני לא זוכרת איך עושים את זה. עיין ב-manual)
 
למעלה