![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Гость_Дмитрий |
|
|||
|
Unregistered |
запускаю файлик php.exe *.php, и вижу следующую херь : Fatal error : Call to undefined function : socket_create далее пишет где это в файле.
В чем проблема???? |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
А подробнее? Код в студию...
Может ошибка в задаваемых параметрах? (что скорее всего -------------------- |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
#!/usr/local/bin/php
<? $windows = 1; // хУФБОПЧЙФШ ЬФХ РЕТЕНЕООХА ТБЧОПК 1 ЕУМЙ ЪБРХУЛБЕФЕ РПД Windows if($windows == 1) { include ("workaround.php"); } $max_retries = 3; $debug = 1; $sender = ""; // sender e-mail address (may be empty) $recipient = "[email protected]"; // recipient e-mail address $email_subject = "Simple subject"; // e-mail subject $email_text = "Hello! Pleased to see you! Really!"; // e-mail text function error($a) { if(substr($a, 0, 1) == '2') return 0; if(substr($a, 0, 1) == '3') return 0; echo "SMTP error: ".substr($a, 4); return 1; } function s_write($socket, $what) { global $debug; if($debug) echo $what; socket_write($socket, $what); } function s_read($socket) { global $debug; $a = socket_read($socket, 1024); if($debug) echo $a; if(error($a)) return 0; return 1; } // Getting mail exchange servers for domain $nd = split('@', $recipient); if(!getmxrr($nd[1], $mxs)) { $mxs[0] = $nd[1]; }; // create and open socket $retries = 0; $mx = 0; $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); ВОТ ТУТ ЭТА ЕБ....АЯ ОШИБКА [u] socket_set_block($sock); socket_set_option($sock, SOL_SOCKET, SO_SNDTIMEO, array("sec"=>1, "usec"=>0)); while(1) { $domain = $mxs[$mx]; if($debug) echo "Using MX: ".$domain."\n"; if(@socket_connect($sock, $domain, 25)) { // SMTP commands (rfc's 821, 2821, 2822, 2920, 3030) s_write($sock, "HELO me\n"); if(!s_read($sock)) break; s_write($sock, "MAIL FROM: <".$sender.">\r\n"); if(!s_read($sock)) break; s_write($sock, "RCPT TO: <".$recipient.">\r\n"); if(!s_read($sock)) break; s_write($sock, "DATA\r\n"); if(!s_read($sock)) break; s_write($sock, "From: <".$sender.">\r\n". "Subject: ".$email_subject."\r\n". "To: ".$recipient."\r\n\r\n". $email_text."\r\n.\r\n"); if(!s_read($sock)) break; s_write($sock, "QUIT\r\n"); if(!s_read($sock)) break; echo "Message successfully sent!\n"; exit(0); } else { // We failed to connect to this MX! Let's try next... $mx++; if($mx >= count($mxs)) exit(1); echo "Error connecting socket!\n"; } // Some error occured while SMTP dialogue - retry for $max_retry times echo "Retrying...\n"; $retries ++; if($retries > $max_retries){ // All retries failed too. OK, let's try another MX $mx++; if($mx >= count($mxs)) exit(1); $retries = 0; } } echo "Mail sending failed!\n"; ?> |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
Э... а на что ругается?
ошибку запости сюда... у себя проверил - ошибок не выдает. Дескриптор сокета создает. И опции задаются тоже безболезненно... -------------------- |
|||
|
||||
| Гость_Дмитрий |
|
|||
|
Unregistered |
Fatal error : Call to undefined function : socket_create,
как ты запускал и какие настройки нужны?? |
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
На мой взгляд, ошибка очевидна.
1. Какая у Вас версия php? 2. Попробуйте использовать функцию: socket(). |
|||
|
||||
| Гость_дмитрий |
|
|||
|
Unregistered |
4.3.9 -версия ПХП.
куда функцию засунуть и что она меняет??? Кстати это не только у вас она запускается, у знакомого тоже. Может необходимо наличие апача или MySql |
|||
|
||||
| skalex |
|
||||||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
А вот это уже странно...
поменять socket_create на socket
MySQL здесь точно ни при чем.... Насчет Apache точно не могу сказать... Вряд ли |
||||||
|
|||||||
| Гость_Дмитрий |
|
|||
|
Unregistered |
на socket тоже ругается.. вы под виндой запускаете????
|
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
покажи
<? echo phpinfo(); ?> возможно php собран без поддержки сокетов должна присутствовать опция --enable-sockets -------------------- |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Вот что написано в php.ini
[Sockets] ; Use the system read function instead of the php_read wrapper. sockets.use_system_read = On и все больше про сокеты ни слова, дык винды или юникс |
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Насколько я понял, web-сервер на Вашем компе не настроен ?
Надо посмотреть в браузере результат работы скрипта с вызовом функции phpinfo(). |
|||
|
||||
| Гость_Дмитрий |
|
|||
|
Unregistered |
Web-сервер вообще отсутствует. Даже в Php expert editor ругается на эту функцию. Я в шоке.
|
|||
|
||||
| skalex |
|
||||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
1. Создайте файл: phpinfo.php следующего вида:
2. В командной строке:
3. Откройте в браузере созданный файл info.htm 4. Искать фразу "--enable-sockets" 5. Если таковая не найдется - забудь про эту задачу! Надо будет перекомпилить php. |
||||
|
|||||
| Гость_Дмитрий |
|
|||
|
Unregistered |
Спасибо. Нет такого слова в этой букве.. Все плохо. Где можно взять нормальный ПХП чтобы это барахло заработало?? :stena
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |