Здравствуйте, помогите пожалуйста с настройкой сервака, совсем загуглился уже. Проблема1. Не работает функция mail(). Сначала очень долго думает, потом возвращает 1 (типа все нормально) но почта так и не приходит. Куда копать, какие логи выложить, подскажите плз. Проблема2. Не работают файлы .htaccess. Что бы я в них ни прописывал - без толку, будто апач их вообще не обрабатывает. Проблема3. Не работает ни в каком виде функция flush(). Пробовал по-разному извращаться, и с ob_end_flush() - без толку. Кто может что посоветовать - буду рад каментам. Вторые сутки не сплю, гуглю гуглю гуглю...
1. Настроить почтовый демон. Если настроен, потестить отправку писем из консоли при помощи mutt. Далее, втыкать в логи почтового демона. Возможно, ваши письма попадают в блэклист. 2. В конфиге апача на вашу веб-директорию поставьте AllowOverride All. Рестартаните апач. Если не помогает, втыкайте в логи апача.
3. пробовал все сделать по этой статье - не помогло. http://www.netfaq.ru/php-script/PHP_dopilivaem_Flush_napilnikom 2. как именно мне нужно прописать это? Я пробовал в apache2.conf вписывать в конец такую шнягу <Directory "/var/www"> AllowOverride All Allow from All </Directory> но не помогло. А httpd.conf у меня вообще пустой 1. все что я сделал это поставил ubuntu со всякими php/mysql и тп. и затем установил sendmail. В php.ini прописано следующее: sendmail_from no value no value sendmail_path /usr/sbin/sendmail -t -i по пути /usr/sbin/sendmail лежит что-то похожее на ярлык с именем sendmail больше ничего сказать не могу =(
ребят, заманался гуглить, никак не могу понять что куда прописывать чтобы все это заработало. помогите плиз
ну что, получилось? если нет, включи PHP: <?php ini_set('error_reporting', E_ALL); ini_set('log_errors',1); ini_set('error_log','/var/logs/php/errlog.txt'); $to = '[email protected]'; $subject = 'test'; $body = 'HELLO'; mail($to, $subject, $body, "From: Mr. User <[email protected]>\r\n" . "MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed; boundary=\"----------A4D921C2D10D7DB\"\r\n") or die('Mail Error'); запусти и втыкай в /var/logs/php/errlog.txt (создав его с правами на запись) да, и конечно же убедись, что запущен sendmail ps -afx | grep sendmail
doctor создал файлик как ты сказал. права 777. создал скрипт, запустил функция возвращает 1, типа отправила. и ничего не приходит файл errlog.txt так и остается пустым на команду ps -afx | grep sendmail сервер отвечает Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 25899 pts/0 S+ 0:00 | \_ grep --color=auto sendmail 19883 ? Ss 0:02 sendmail: MTA: accepting connections
3. @ini_set('output_buffering',0); @ob_implicit_flush(1); поставил вначале скрипта. так надо было сделатЬ? ничего не изменилось пробовал даже в цикле ставить)
телепатов вроде нет, что и куда ты вставляешь. PHP: <?php //error_reporting(0); @ini_set("max_execution_time",0); @ini_set('output_buffering',0); //@set_magic_quotes_runtime(0); @set_time_limit(0); @ob_implicit_flush(1); header("Content-Type: text/html; charset=utf-8\r\n"); header("Pragma: no-cache"); function myflush($timee) { if(ob_get_contents()) { ob_flush(); ob_clean(); flush(); usleep($timee); } } for($n = 0; ++$n <= 33;) { echo $n.' '; myflush(100000); } echo '<br>'; for($n = 0; ++$n <= 33;) { echo $n.' '; myflush(40000); } ?>
3. зашибись, теперь FLUSH работает, пасиба большое!" не знаю как проверить, из консоли не умею еще отправлять =(
Покажите вывод команды: whereis apache2 что бы узнать где у вас лежит апачь. И еще вопрос, какая ОС? Апачь ставили из репов или из сорцев или была уже предустановлена? Если из репов или была предустановлена то зачастую конфиг файлы апача лежат в /etc/apache2 а если из сорцев там префикс стандартный помоему /usr/share когда будете знать точно где лежат конфиг файлы покажите ls -lha этой папки. Code: [01:13][root][~]# whereis apache2 apache2: /usr/sbin/apache2 /etc/apache2 /usr/lib/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz [01:13][root][~]# cd /etc/apache2;ls -lha total 55K drwxr-xr-x 9 root root 408 2011-11-01 22:19 . drwxr-xr-x 58 root root 3.7K 2011-11-22 00:31 .. -rw-r--r-- 1 root root 26K 2011-11-01 22:19 apache2.conf -rw-r--r-- 1 root root 9.9K 2009-07-14 23:00 apache2.conf.dpkg-dist drwxr-xr-x 2 root root 232 2011-09-16 09:54 conf.d -rw-r--r-- 1 root root 378 2009-07-14 23:00 envvars -rw-r--r-- 1 root root 0 2007-02-03 21:41 httpd.conf drwxr-xr-x 2 root root 2.8K 2011-09-16 09:54 mods-available drwxr-xr-x 2 root root 1.1K 2010-10-08 11:36 mods-enabled -rw-r--r-- 1 root root 513 2009-12-14 09:48 ports.conf drwxr-xr-x 2 root root 104 2011-09-16 09:54 sites-available drwxr-xr-x 2 root root 48 2007-02-03 21:43 sites-enabled drwxr-xr-x 2 root root 80 2009-12-14 09:39 ssl.crt drwx------ 2 root root 80 2009-12-14 09:39 ssl.key [01:17][root][/etc/apache2]# Как видите httpd.conf и у меня пустой, основная конфигурация в apache2.conf но и в ней может не быть ничего про виртуальные хосты. Конфиги вирт. хостов зачастую лежат в sites-available Code: [01:22][root][/etc/apache2/sites-available]# l total 12K -rw-r--r-- 1 root root 950 2009-07-14 23:00 default -rw-r--r-- 1 root root 7.2K 2009-07-14 23:00 default-ssl И вот уже в default есть директива: Code: <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> AllowOverride None нужно заменить на AllowOverride All тогда будут работать файлы .htaccess После всех изменений нужно перезапустить сервер apache2 сделать это можно либо через: apache2ctl restart или /etc/init.d/apache2 restart UP вопрос насчет ОС отпал, увидел в названии топика, убунту, в таком случае всё будет так как я описал, дэбианаподобная система
Кстати да, AnGeI прав, первое что надо проверить: Отправка почты из консоли -- ф-ция mail: Code: # mail [email protected] Subject: hello ololo . EOT когда закончил писать тело -- поставь точку на пустой строке и нажми ENTER.
я возможно совсем ламобот, но так и не допер как это вбить в консоли все вместе mail [email protected] Subject: hello ololo . EOT попробовал написать mail [email protected], мне выдало The program 'mail' can be found in the following packages: * heirloom-mailx * mailutils Try: apt-get install <selected package> я попробовал по этому совету установить mailutils # apt-get install mailutils но дело это нифига не поменяло. апач рестартил как теперь эту байду удалить? ХД не люблю лишний шлак, установленный в системе а во, я сделал #apt-get --purge remove mailutils вроде удалило короче вопрос с sendmail актуален =(
mutt заюзайте, я же написал во втором посте. Это консольный почтовый клиент. Им и потестируйте хождение мыл.
Вообще-то mail должен присутствовать, если sendmail установлен :/ И на убунту, судя по этому, он тоже должен быть: http://askubuntu.com/questions/12917/how-to-send-mail-from-the-command-line/12939#12939 Мне кажется, то, что он не работает -- тревожный признак... я, правда, юзаю другие дистрибутивы, но не видел ни одного без mail.
Во, я переустановил sendmail командой apt-get install sendmail теперь пробую отправить сообщение из консоли по этой статье: http://webinface.ru/content/38-ubuntu/63-sendmail-php-ubuntu и все отправилось, сообщение пришло как должно было. А вот ПХП все равно тупит. Сначала думает полчаса, потом ф-я mail возвращает 1, но почта так и не приходит. В чем проблема?