PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 15
v4567 Отправлено: 11 Октября, 2017 - 14:47:59 • Тема: с сайта не могу отправить письмо mail - php • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 855
Вот так вот:
php /data/web/apache/www/sait2.ru/in dex.php

отправляется, без всякиз свифтьаилов.

Не отправляется если я этот файл открываю как страничцу в браузере.
v4567 Отправлено: 11 Октября, 2017 - 12:55:17 • Тема: с сайта не могу отправить письмо mail - php • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 855
Есть тестовая страничка:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. ini_set('error_reporting', E_ALL);
  4. ini_set('display_errors', 'On');
  5. ini_set('display_startup_errors', 'On');
  6. if (mail("user@ukr.net", "1234test1234", "12qwerty34"))
  7. {
  8.  echo "Почта работает.";
  9. }
  10. else
  11. {
  12.  echo "Почта не работает.";
  13. }
  14. echo phpinfo();
  15. ?>
  16.  


Открываю её и письмо не отправляется.

Установлен apache2 и к немо следующие пакеты php:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. apt-get -y install php7.0
  3. apt-get -y install php7.0-common
  4. apt-get -y install php7.0-curl
  5. apt-get -y install php7.0-mysql
  6. apt-get -y install php7.0-cli
  7. apt-get -y install libapache2-mod-php7.0
  8. apt-get -y install php7.0-gd
  9.  


После установки этих пакетов была выполнена команда a2enmod php7 и потом запущен апач.

CODE (text):
скопировать код в буфер обмена
  1.  
  2. uname -a
  3. Linux ukemp.ukrkran.local 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:58:51 UTC 2017 i686 i686 i686 GNU/Linux
  4.  
  5. apache2 -version
  6. Server version: Apache/2.4.18 (Ubuntu)
  7. Server built:   2017-09-18T15:09:02
  8.  
  9. php --version
  10. PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
  11. Copyright (c) 1997-2017 The PHP Group
  12. Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
  13.     with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
  14.  
  15. ldd /usr/lib/apache2/modules/libphp7.0.so
  16.        linux-gate.so.1 =>  (0xb7745000)
  17.         libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb733d000)
  18.         libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7322000)
  19.         libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb72ad000)
  20.         libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7258000)
  21.         libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7253000)
  22.         libxml2.so.2 => /usr/lib/i386-linux-gnu/libxml2.so.2 (0xb7072000)
  23.         libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb7008000)
  24.         libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb6e1b000)
  25.         libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6c65000)
  26.         libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6c48000)
  27.         /lib/ld-linux.so.2 (0xb7746000)
  28.         libicuuc.so.55 => /usr/lib/i386-linux-gnu/libicuuc.so.55 (0xb6ab2000)
  29.         liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xb6a8c000)
  30.         libicudata.so.55 => /usr/lib/i386-linux-gnu/libicudata.so.55 (0xb51d3000)
  31.         libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb505c000)
  32.         libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb503f000)
  33.  


В качестве мта использую ssmtp

Вот часть конфига apache1.conf относящегося к открываемому сайту с которого должно отправляться письмо:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <VirtualHost 192.168.5.254:80>
  3.  DocumentRoot /data/web/apache/www/sait2.ru
  4.  ServerName sait2.ru
  5.  ServerAlias www.sait2.ru
  6.  <Directory /data/web/apache/www/sait2.ru>
  7.   Options Includes
  8.   AllowOverride all
  9.  </Directory>
  10.  ErrorLog /var/log/apache2/sait2.ru/error.log
  11.  CustomLog /var/log/apache2/sait2.ru/access.log combined
  12. </VirtualHost>
  13.  


Вот содержимое файлов

/etc/apache2/mods-available/php7 .0.conf

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
  3.     SetHandler application/x-httpd-php
  4. </FilesMatch>
  5. <FilesMatch ".+\.phps$">
  6.     SetHandler application/x-httpd-php-source
  7.     # Deny access to raw php sources by default
  8.     # To re-enable it's recommended to enable access to the files
  9.     # only in specific virtual host or directory
  10.     Require all denied
  11. </FilesMatch>
  12. # Deny access to files without filename (e.g. '.php')
  13. <FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
  14.     Require all denied
  15. </FilesMatch>
  16.  
  17. # Running PHP scripts in user directories is disabled by default
  18. #.
  19. # To re-enable PHP in user directories comment the following lines
  20. # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
  21. # prevents .htaccess files from disabling it.
  22. <IfModule mod_userdir.c>
  23.     <Directory /home/*/public_html>
  24.         php_admin_flag engine Off
  25.     </Directory>
  26. </IfModule>
  27.  


/etc/apache2/mods-available/php7 .0.load

CODE (text):
скопировать код в буфер обмена
  1.  
  2. # Conflicts: php5
  3. LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so
  4.  


Они стандартные.

Вот некоторое содержимое файлов:
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cgi/php.ini
/etc/php/7.0/cli/php.ini
/etc/php/7.0/fpm/php.ini

CODE (text):
скопировать код в буфер обмена
  1.  
  2. display_errors = On
  3. display_startup_errors = On
  4. error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
  5. SMTP = localhost
  6. smtp_port = 465
  7. sendmail_path = /usr/sbin/ssmtp -t
  8. mail.add_x_header = On
  9. mail.log = /var/log/php/php_mail.log
  10. date.timezone = Europe/Kiev
  11.  


ssmtp настроен правильно и из командной строки письмо прекрасно отправляется, мало того если в консоли выполнить команду:

php /data/web/apache/www/sait2.ru/in dex.php

то письмо то же прекрасно отправляется!

В этот файл я в последствии включил phpinfo()

и сравнил вывод информации в браузере и в консоли, они отличались только тем, что когда страницу открываю в браузере используется конфиг /etc/php/7.0/apache2/php.ini, а когда использую выше приведённую команду, то конфиг /etc/php/7.0/cli/php.ini

Я сравнил эти файлы и они оказали различны, вот различия:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. diff /root/php/php.ini /etc/php/7.0/cli/php.ini
  3. 299c299
  4. < disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
  5. ---
  6. > disable_functions =
  7. 359c359
  8. < expose_php = Off
  9. ---
  10. > expose_php = On
  11. 389c389
  12. < memory_limit = 128M
  13. ---
  14. > memory_limit = -1
  15. 462c462
  16. < display_errors = Off
  17. ---
  18. > display_errors = On
  19. 473c473
  20. < display_startup_errors = Off
  21. ---
  22. > display_startup_errors = On
  23. 484d483
  24. <
  25.  


Я взял и скопировал файл /etc/php/7.0/cli/php.ini в папки /etc/php/7.0/apache2/ /etc/php/7.0/cgi/ /etc/php/7.0/fpm/
Поэтому в этих папках фалы php.ini стали одинаковы, перезапустил апач, открыл страницу но письмо не отправилось, причём при удачной отправке письма по команде php /data/web/apache/www/sait2.ru/in dex.php и при открытии страницы в логах /var/log/php/php_mail.log одна и та же запись:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. [11-Oct-2017 12:05:07 Europe/Kiev] mail() on [/data/web/apache/www/sait2.ru/index.php:5]: To: user@ukr.net -- Headers:.
  3.  


Файл /var/log/php/php_errors.log пустой

Я подумал что проблема в модуле для апача /usr/lib/apache2/modules/libphp7 .0.so

У меня для другой системы был ранее собран из исходников модуль для апача пятой версии, по размерам он был в 6 раз больше чем этот. Этот модуль точно работает, так как на другой системе письмо прекрасно отправляется. Я взял его (к нему не хватало нескольких библиотек, я их просто скопировал после чего выполнил команду ldconfig), проверил библиотеки были все. Запустил апач, он запустился нормально. Открываю сайт, но письмо не отправляется. В браузер никаких ошибок не пишет, хотя как видно я вывод включал. Просто срабатывает if и пишет, что почта не работает и письмо действительно не отправляется. Получается, что дело не в этом модуле, тогда не понятно где, конфиги одинаковы для апача и клиента, ошибок не пишет. Может кто подскажет как подробное логирование включить.

В логаг апача вот что:

Запуск апача:
/usr/sbin/apache2 -k start

CODE (text):
скопировать код в буфер обмена
  1.  
  2. ps axu | grep apache
  3. root      6266  0.7  1.3 136500 28196 ?        Ss   12:37   0:00 /usr/sbin/apache2 -k start
  4. apache    6267  0.0  0.3 136524  7984 ?        S    12:37   0:00 /usr/sbin/apache2 -k start
  5. apache    6268  0.0  0.3 136524  7984 ?        S    12:37   0:00 /usr/sbin/apache2 -k start
  6. apache    6269  0.0  0.3 136524  7984 ?        S    12:37   0:00 /usr/sbin/apache2 -k start
  7. apache    6270  0.0  0.3 136524  7984 ?        S    12:37   0:00 /usr/sbin/apache2 -k start
  8. apache    6271  0.0  0.3 136524  7984 ?        S    12:37   0:00 /usr/sbin/apache2 -k start
  9. root      6273  0.0  0.0   5100   900 pts/0    S+   12:38   0:00 grep apache
  10.  


/var/log/apache2/access.log пустой

в /var/log/apache2/error.log вот что:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. [Wed Oct 11 12:37:58.188215 2017] [mpm_prefork:notice] [pid 6266] AH00163: Apache/2.4.18 (Ubuntu) PHP/7.0.22-0ubuntu0.16.04.1 configured -- resuming normal operations
  3. [Wed Oct 11 12:37:58.188374 2017] [core:notice] [pid 6266] AH00094: Command line: '/usr/sbin/apache2'
  4.  


открываю сайт, пробую двумя браузерами, очень старой оперой и свежим firefox-сом

/var/log/apache2/sait2.ru/error. log пустой

в /var/log/apache2/sait2.ru/access .log вот что:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. 192.168.5.226 - - [11/Oct/2017:12:40:39 +0300] "GET / HTTP/1.1" 200 90683 "-" "Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.15"
  3. 192.168.5.226 - - [11/Oct/2017:12:42:36 +0300] "GET / HTTP/1.1" 200 90646 "-" "Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Firefox/52.0"
  4.  


В чём причина не работы функции mail и как включить очень подробное логирование так и не знаю.
За помощь заранее благодарен!
v4567 Отправлено: 21 Ноября, 2016 - 11:01:40 • Тема: модуль php для apache не может отправить почту • Форум: Программирование на PHP

Ответов: 1
Просмотров: 663
Глянув в системные логи mail.log и sys.log (как включить логирование в самом ssmtp я так и не нашёл) увидел что ssmtp при запуске интерпретатора php запускается от рута и в логах пишется что пользователь root.
А когда я письмо отправляю через сайт то ssmtp запускается от пользователя apache. В общем надо было подправить конфиги ssmtp.
В файле /usr/local/etc/ssmtp/revaliases
вместо строки:
root:xxxxxx@ukr.net:smtp.ukr.net:465
вписать или дописать строку:
apache:xxxxxx@ukr.net:smtp.ukr.net:465
А в файле:
/usr/local/etc/ssmtp/ssmtp.conf
строку:
root=xxxxxx@ukr.net # от чьего имени шлем письма
можно оставить, можно удалить, а можно поменять на:
apache=xxxxxx@ukr.net # от чьего имени шлем письма

и тогда всё заработает.

И ещё. У меня apache работает в chroot. В этом же chroot находится и ssmtp.
Так вот для работы ssmtp нужен ещё и bash, но обязательно что бы он назывался не bash, а sh. Нужно переименовать bash в sh или создать ссылку sh на bash. Конфиги пользователей .bashrc .profile и т. д. как и сами домашние директории пользователей от которых запускается ssmtp, а так же домашняя директория root и файлы /etc/bashrc /etc/profile не нужны.
Необходимо только наличие всех необходимых библиотек для баша libhistory.so и т.д. Также нужны файлы /etc/passwd /etc/group /etc/shadow с пользователем от которого запускается apache, в моём случае это пользователь apache. Так же ещё нужны все необходимые библиотеки для apache, php и ещё некоторые файлы.

Всё вопрос решённый тему можно закрывать.
(Добавление)
кнопку вопрос решён не нашёл
v4567 Отправлено: 20 Ноября, 2016 - 18:58:14 • Тема: модуль php для apache не может отправить почту • Форум: Программирование на PHP

Ответов: 1
Просмотров: 663
Есть система lfs версии 7.0
В ней из исходников собран apache версии 2.4.18 и php версии 5.5.13
Мне нужен был только модуль для apache и не нужен был php интерпретатор, но собрать без интерпретатора так и не получилось (в моём вопросе отправки почты - интерпретатор, помог выяснить некоторый вопрос), собирал несколько раз, то собрал без графической библиотеки и капча не работала, то ещё без каких то библиотек. На сборку потратил кучу времени, но в конце концов собрал и всё заработало.
Собирал apache вот с такими опциями:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. ./configure --enable-authnz-fcgi \
  3. --enable-layout=LFS \
  4. --enable-mods-shared="all cgi" \
  5. --enable-mpms-shared=all \
  6. --with-apr=/usr/bin/apr-1-config \
  7. --with-apr-util=/usr/bin/apu-1-config \
  8. --enable-suexec=shared \
  9. --with-suexec-bin=/usr/lib/httpd/suexec \
  10. --with-suexec-docroot=/srv/apache \
  11. --with-suexec-caller=apache \
  12. --with-suexec-userdir=public_html \
  13. --with-suexec-logfile=/var/log/httpd/suexec.log \
  14. --with-suexec-uidmin=100
  15.  

php собирал вот с такими опциями:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. ./configure --prefix=/usr \
  3. --sysconfdir=/etc \
  4. --localstatedir=/var \
  5. --with-apxs2=/usr/bin/apxs \
  6. --datadir=/usr/share/php \
  7. --mandir=/usr/share/man \
  8. --disable-ipv6 \
  9. --enable-dba \
  10. --enable-dba=shared \
  11. --with-gdbm \
  12. --enable-maintainer-zts \
  13. --enable-fpm \
  14. --with-fpm-user=apache \
  15. --with-fpm-group=apache \
  16. --with-config-file-path=/etc \
  17. --with-pcre-regex=/usr \
  18. --with-zlib \
  19. --enable-bcmath \
  20. --with-bz2 \
  21. --enable-calendar \
  22. --with-curl \
  23. --enable-exif \
  24. --enable-ftp \
  25. --with-kerberos \
  26. --with-t1lib \
  27. --with-gettext \
  28. --with-gmp \
  29.  --with-ldap-sasl \
  30.  --without-pdo-sqlite \
  31. --with-pspell \
  32. --with-readline \
  33. --with-snmp \
  34. --with-iconv \
  35. --with-openssl \
  36. --with-openssl-dir=/usr \
  37. --with-gd=/usr \
  38. --with-jpeg-dir=/usr \
  39. --with-png-dir=/usr \
  40. --with-zlib-dir=/usr \
  41. --with-freetype-dir=/usr \
  42. --with-mysql \
  43. --with-mysql-sock=/var/run/mysql \
  44. --enable-sockets \
  45. --with-mysql=mysqlnd \
  46. --with-mysqli \
  47. --with-mysqli=mysqlnd \
  48. --with-pdo-mysql \
  49. --with-pdo-mysql=mysqlnd \
  50.   --enable-mbstring
  51.  

До сборки apache и php пришлось собрать вот такие пакеты программ:
valgrind-3.9.0.tar.bz2
apr-1.5.0.tar.bz2
apr-util-1.5.3.tar.bz2
xproto-7.0.26.tar.gz
xextproto-7.3.0.tar.gz
xtrans-1.3.4.tar.gz
xcb-proto-1.10.tar.bz2
util-macros-1.19.0.tar.bz2
dmxproto-2.3.1.tar.bz2
inputproto-2.3-1.tar.bz2
kbproto-1.0.6-1.tar.bz2
libXau-1.0.8.tar.bz2
libpthread-stubs-0.1.tar.bz2
libxcb-1.10.tar.bz2
xf86bigfontproto-1.2.0.tar.bz2
xf86dgaproto-2.1.tar.bz2
xf86driproto-2.1.1.tar.bz2
xf86miscproto-0.9.3.tar.bz2
xf86rushproto-1.1.2.tar.bz2
xf86vidmodeproto-2.3.1.tar.bz2
xineramaproto-1.2.1.tar.bz2
libX11-1.6.2.tar.gz
libXpm-3.5.11.tar.bz2
yasm-1.2.0.tar.gz
libvpx-v1.3.0.tar
libgd-2.1.0.tar
t1lib-5.1.2.tar.gz
Без этих пакетов ни apache ни php не собирался.
После установки всего этого, поверил работу apache и php взял работающий сайт написанный на cms с базой данный - mysql. Всё работало отлично, работало с базой данный записывались, выбирались из базы и т. д. Работала капча.
phpinfo в прикреплённом файле phpinfo.mht

Вот файл из которого пытаюсь отправить почту:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. set_error_handler('err_handler');
  4. function err_handler($errno, $errmsg, $filename, $linenum)
  5. {
  6. $date = date('Y-m-d H:i:s (T)');
  7. $f = fopen('errors.txt', 'a');
  8. if (!empty($f))
  9. {
  10. $filename =str_replace($_SERVER['DOCUMENT_ROOT'],'',$filename);
  11. $err = "$errmsg = $filename = $linenum\r\n";
  12. fwrite($f, $err);
  13. fclose($f);
  14. }
  15. }
  16. error_reporting(E_ALL);
  17. ini_set('log_errors', 'On');
  18. ini_set('error_log', '/var/log/httpd/php_errors.log');
  19. ini_set("display_errors", "1");
  20. try
  21. {
  22. if (mail("xxxxx@xxxx.xx", "test111", "test222"))
  23. {
  24. echo "Почта работает.";
  25. }
  26. else
  27. {
  28. echo "Почта не работает.";
  29. }
  30. }
  31. catch (Exception $exc)
  32. {
  33. error_log($exc->getMessage());
  34. }
  35. ?>
  36.  


Для отправки почты использую ssmtp, в конфигах ssmtp всё прописано для отправки почты, почта отправляется из командной строки, из командной строки ssmtp работает отлично.

В php.ini включил следующие опции:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
log_errors = On
error_log = /var/log/httpd/php_errors.log
mail.log = /var/log/httpd/php_mail.log
SMTP = localhost
smtp_port = 465
sendmail_path = /usr/local/sbin/ssmtp -t

При запуске apache в файле error.log пишется вот что:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. [Sun Nov 20 18:37:45.524273 2016] [mpm_event:notice] [pid 23986:tid 3074820368] AH00491: caught SIGTERM, shutting down
  3. No log handling enabled - using stderr logging
  4. MIB search path: $HOME/.snmp/mibs:/usr/local/share/snmp/mibs
  5. Cannot find module (SNMPv2-MIB): At line 0 in (none)
  6. Cannot find module (IF-MIB): At line 0 in (none)
  7. Cannot find module (IP-MIB): At line 0 in (none)
  8. Cannot find module (TCP-MIB): At line 0 in (none)
  9. Cannot find module (UDP-MIB): At line 0 in (none)
  10. Cannot find module (HOST-RESOURCES-MIB): At line 0 in (none)
  11. Cannot find module (NOTIFICATION-LOG-MIB): At line 0 in (none)
  12. Cannot find module (DISMAN-EVENT-MIB): At line 0 in (none)
  13. Cannot find module (DISMAN-SCHEDULE-MIB): At line 0 in (none)
  14. Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
  15. Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
  16. Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
  17. Cannot find module (NET-SNMP-AGENT-MIB): At line 0 in (none)
  18. Cannot find module (HOST-RESOURCES-TYPES): At line 0 in (none)
  19. Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
  20. Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
  21. Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
  22. Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
  23. Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
  24. Cannot find module (IP-FORWARD-MIB): At line 0 in (none)
  25. Cannot find module (NET-SNMP-PASS-MIB): At line 0 in (none)
  26. Cannot find module (NET-SNMP-EXTEND-MIB): At line 0 in (none)
  27. Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
  28. Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
  29. Cannot find module (SNMPv2-TM): At line 0 in (none)
  30. Cannot find module (NET-SNMP-VACM-MIB): At line 0 in (none)
  31. [Sun Nov 20 18:37:48.829030 2016] [mpm_event:notice] [pid 25990:tid 3075352848] AH00489: Apache/2.4.18 (Unix) PHP/5.5.13 configured -- resuming normal operations
  32. [Sun Nov 20 18:37:48.829191 2016] [core:notice] [pid 25990:tid 3075352848] AH00094: Command line: '/usr/sbin/httpd'
  33.  


Когда в браузере открываю этот сайт то почта не отправляется.
Срабатывает коммутатор if и выводится:
"Почта не работает."
В логаг тишина.
В access.log для этого сайта.
xx.xx.xx.xx - - [20/Nov/2016:18:42:04 +0200] "GET / HTTP/1.1" 200 33 "-" "Opera/x.xx (X11; Linux i686) Presto/x.xx.xxx Version/xx.xx"
В error.log для этого сайта ничего нет.
В access.log общий для apache ничего нет.
В error.log общий для apache новых записей нет, кроме старых приведённых выше после запуска apache.
В fpm-php.log ничего нет.
В php_errors.log ничего нет.
В php_mail.log
[20-Nov-2016 18:43:58 Europe/Kiev] mail() on [/xxxx/xxx/xxxxxx/xxx/xxxx.xx/index.php:21]: To: xxxx@xxxx.xx -- Headers:.

Если php файл, в котором я пытаюсь отправить почту, передать php интерпретатору php -f < index.php то почта отправляется!!!!

Получается php модуль для apache почту не может отправить, а php интерпретатор почту отправляет.

Подскажите хоть в каком направлении смотреть, или как ещё можно включить логи, что бы хоть что нибудь написало....

За помощь заранее благодарен!

PS. Что бы не раскрывать некоторые данные, я их заменил иксами.
v4567 Отправлено: 10 Мая, 2014 - 16:39:50 • Тема: не могу заставить работать php с mysql • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 24
Есть linux lfs версии 7.0 Из исходников установлены СУБД mysql версии
mysqld Ver 5.5.17-log for Linux on i686 (Source distribution),
веб-сервер apache версии
httpd -v
Server version: Apache/2.4.9 (Unix)
Server built: Apr 8 2014 19:04:23
и php версии
php -v
PHP 5.5.11 (cli) (built: Apr 23 2014 23:04:28)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
СУБД работает отлично, завёл пользователя, базу, из mysql клиента подсоединяюсь под этим пользователем и захожу в базу, всё работает нормально.
Веб-сервер работает то же отлично.
Сам модуль php для apach-а работает то же нормально. Создал страничку - <?php echo phpinfo(); ?>
и вот что она выдала по поводу mysql:
MySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter
MySQL Zeev Suraski, Zak Greant, Georg Richter, Andrey Hristov
MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter

при этом по команде php -m модуля для работы с mysql вроде как нет:
php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
hash
iconv
json
libxml
mbstring
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

Папки в /usr/lob/php с модулями вообще нет.

Конфигурировал php вот с такими опциями:

./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-apxs2=/usr/bin/apxs \
--datadir=/usr/share/php \
--mandir=/usr/share/man \
--enable-dba \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--with-config-file-path=/etc \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--enable-exif \
--enable-ftp \
--with-openssl-dir=/usr \
--with-gd=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-freetype-dir=/usr \
--with-mysql-sock=/var/run/mysql \
--enable-sockets \
--enable-mbstring

Всё бы было ничего но вот пытаюсь открыть такую страничку:

<?php


// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "user"; // Имя пользователя
$dbpassword = "pas"; // Пароль
$dbname = "baza"; // Имя базы данных

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Создаём таблицу customer
// т.е. делаем sql запрос
$query = "create table customer (id int(2) primary key auto_increment, name varchar(100), tel varchar(20))";
mysql_query($query, $link);

// Закрываем соединение
mysql_close($link);


?>

и выдаёт мне: Удаленный сервер или файл не найден хотя просто html страницы или страничку вида: <?php echo phpinfo(); ?> открывает отлично.

Смотрю в логи mysql а там вообще нет признака что бы под пользователем заходили, вообще конекта нет. Хотя из mysql клиента захожу нормально.

Вопрос у меня php собран без поддержки mysql?

И ещё один вопрос.

Запускал СУБД mysql и apache в chroot с скинутыми в этот chroot библиотеками и модулем php, так же с библиотеками. Всё работает отлично, правда работу php с mysql не проверял. Судя по работе не в chroot работать не будет, но второй вопрос не в этом. Подскажите пожалуйста при такой работе в chroot php будет работать с библиотеками расположенными в chroot или будет использовать системные библиотеки? Если системные то как заставить php не вылазить из chroot и использовать библиотеки скинутые в chroot?

За помощь заранее благодарен!
v4567 Отправлено: 13 Апреля, 2014 - 18:00:10 • Тема: как скомпилить php без gd • Форум: Вопросы новичков

Ответов: 2
Просмотров: 104
Раньше у меня не было установлено это gd.
Я его не указал, при конфигурировании написало ошибка, нет этого gd..........
v4567 Отправлено: 13 Апреля, 2014 - 17:47:47 • Тема: как скомпилить php без gd • Форум: Вопросы новичков

Ответов: 2
Просмотров: 104
В скрипте configure есть опция with-gd которая указывает на путь к паке где установлен этот gd но нет опции для того что бы откомпилить php без gd, опции --disable-gd нет, или я ошибаюсь????????
v4567 Отправлено: 11 Апреля, 2014 - 22:36:16 • Тема: ошибка при компилировании php-5.5.11 • Форум: Программное обеспечение

Ответов: 0
Просмотров: 828
Пытаюсь поставить из исходников php-5.5.11.tar.bz2
Линукс lfs версии 7.0 но некоторые пакеты обновлены до последних версий.
Опции такие:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. sed -i -e 's/2.6.5 2.7/& 3.0/' configure && \
  3. ./configure --prefix=/usr                \
  4.             --sysconfdir=/etc            \
  5.             --localstatedir=/var         \
  6.             --with-apxs2=/usr/bin/apxs   \
  7.             --datadir=/usr/share/php     \
  8.             --mandir=/usr/share/man      \
  9.             --enable-dba                 \
  10.             --enable-fpm                 \
  11.             --with-fpm-user=apache       \
  12.             --with-fpm-group=apache      \
  13.             --with-config-file-path=/etc \
  14.             --with-zlib                  \
  15.             --enable-bcmath              \
  16.             --with-bz2                   \
  17.             --enable-calendar            \
  18.             --enable-exif                \
  19.             --enable-ftp                 \
  20.             --with-openssl-dir=/usr      \
  21.             --with-gd=/usr               \
  22.             --with-jpeg-dir=/usr         \
  23.             --with-png-dir=/usr          \
  24.             --with-zlib-dir=/usr         \
  25.             --with-freetype-dir=/usr     \
  26.             --with-mysql-sock=/var/run/mysql \
  27.             --enable-sockets             \
  28.             --enable-mbstring            \
  29.             --enable-mbstring
  30.  

Конфигурирование прошло нормально
Компилирую командой:
make без опций, выдаёт такую ошибку:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. /prog/php-5.5.11/ext/gd/gd.c:57:22: фатальная ошибка: X11/xpm.h: Нет такого файла или каталога
  3. компиляция прервана.
  4. make: *** [ext/gd/gd.lo] Ошибка 1
  5.  

Что это за gd не знаю, но:
gd установлен: libgd-2.1.0.tar иксов нет, что за файл xpm.h и из какого пакета он не знаю.
Мне всего то нужно установить модуль для apach-а, мне не нужен интерпретатор php.
Вот вывод configure:
http://pastebin[dot]com/ePDNsh19
Вот вывод make:
http://pastebin[dot]com/Z7bGcSLE
Как установить только модуль и как победить эту ошибку, если кто знает помогите пожалуйста!!!!!
v4567 Отправлено: 11 Ноября, 2008 - 10:41:58 • Тема: измерение скорости интернет соединения • Форум: Программирование на PHP

Ответов: 17
Просмотров: 2837
Получилось померять на вход. Меряю при помощи javascript. На выход померять неполучается. На выход меряю при помощи php, уходят данные но все не уходят на половине выдаётся следующее:


<input name="dannn" type="hidden" value="0000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00000000000000000000

и т.д. Замера не происходит далее приведу код:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Измерение скорости интернет</title>
<meta http-equiv="Content-Type" content="text/html" charset="windows-1251">
<meta name="Keywords" content="">
<meta name="Description" content="">
<link rel="shortcut icon" href="img/favicon.ico"/>
</head>

<body>

<script language="javascript">

<!--

var t = new Date();
var tt = t.getTime();

//-->

</script>

<br>



<form name="dlper" action="index.php" method="post">
<input name="dannn" type="hidden" value="0000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000

пропускаем нули

00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
00000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000">
<input name="otpr" type="submit" value="Тест">
</form>

<script language="javascript">

<!--

var t1 = new Date();
var tt1 = t1.getTime();
document.write(5160000/(tt1 - tt));

//-->

</script>

<br>

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3.   $p1 = time();
  4.   echo $p."<br>".$p1;
  5.  
  6.  ?>



</body>
</html>


при помощи php пытаюсь вывести время в начале и в конце файла но время не выводится.
Форумчане помогите пожалуйста кто знает как решить эту задачу.
v4567 Отправлено: 07 Ноября, 2008 - 22:14:36 • Тема: измерение скорости интернет соединения • Форум: Программирование на PHP

Ответов: 17
Просмотров: 2837
Немного я подразобрался, проблема вот в чём необходимо сделать страницу пустую (бинарные нули) но размером например 200кбайт, как её сделать не пойму? Если кто знает подскажите пожалуйста.
NVK Designer спасибо за понимание и поддержку.
v4567 Отправлено: 07 Ноября, 2008 - 11:34:34 • Тема: измерение скорости интернет соединения • Форум: Программирование на PHP

Ответов: 17
Просмотров: 2837
valenok спасибо за помощь, а на php можно это как то реализовать? Если можно то как?
v4567 Отправлено: 07 Ноября, 2008 - 10:36:12 • Тема: измерение скорости интернет соединения • Форум: Программирование на PHP

Ответов: 17
Просмотров: 2837
Здравствуйте, форумчане.
Подскажите пожалуйста как написать скрипт для определения скорости интернет соединения, подробно не надо нужно в общих чертах. Какие функции использовать? Я так понимаю что надо закачивать на компьютер на котором проверяю скорость, страницу определённого размера, и проверить время её загрузки, например 200кбайт, причём она должна быть пустой, как её сделать? Это будет входящий канал, а как потом проверить исходящий канал? За ответ заранее благодарен.
v4567 Отправлено: 24 Сентября, 2008 - 09:43:50 • Тема: замена явы и флэш пхп скриптами • Форум: Программирование на PHP

Ответов: 9
Просмотров: 642
Джур пишет:
Ну на самом деле РНР для клиенской части существует... один тип из пендосии делал плагин для броузера, для версии 4...


Джур подскажи пожалуйста где про это можно почитать, или как связаться с этим человеком.
v4567 Отправлено: 23 Сентября, 2008 - 10:01:13 • Тема: замена явы и флэш пхп скриптами • Форум: Программирование на PHP

Ответов: 9
Просмотров: 642
valenok пишет:
Нужно объяснить ему что такое php а не как правильно хернёй страдать


Немного основы знаю, я не совсем правильно сформулировал вопрос.
Идея была в отказе от ява скриптов и от флэш, хотябы от ява скриптов, тоесть заменить их полностью пхп. Может быть есть такой пхп транслятор который на сервере часть кода на пхп преобразует в html, а часть пропускает и она уже выполняется на клиентской машине пхп плагином-интерпретатором к браузеру.
Например я написал программу на С++ которая работает через сеть. У клиента на его компе устанавливается клиентская часть, на сервере устанавливается серверная часть.
Когда клиент запускает свою клиентскую часть она через сеть коннектиться к серверной и работает.Некоторая часть программы выполняется на клиентском компе, какаято на сервере, данные гуляют по сети от клиента к серверу и обратно.
В веб такое можно реализовать на сколько я знаю, может быть я ошибаюсь, с помощью пхп и ява скриптов. Тоесть у клиента не надо устанавливать клиентскую часть, он просто в браузере набирает адрес и ему в этот браузер загружается интерфейс. То что должно выполняться на компе клиента выполняют ява скрипты через ява плагин-интерпретатор, то что должно выполняться на сервере выполняется при помощи пхп через пхп транслятор.
Вопрос был в том что можно ли всё это реализовать только при помощи пхп, тоесть может быть есть какой нибудь другой транслятор который пропускает часть кода, которая выполняется на клиентском компе при помощи какогото пхп плагина-интерпретатора. Есть ли такое для пхп? Если есть то где про это можно почитать, если нету то почему нет, может быть это не нужно, хотя на мой взгляд тогда можно будет отказаться от ява скриптов и полностью реализовывать такие можно сказать приложения только на пхп.
v4567 Отправлено: 22 Сентября, 2008 - 23:20:13 • Тема: замена явы и флэш пхп скриптами • Форум: Программирование на PHP

Ответов: 9
Просмотров: 642
Здравствуйте, форумчане.
У меня вопрос, можно ли заменить яву и флэш пхп скриптами? Сейчас попытаюсь всё разъяснить.
Например я пользуюсь браузером опера, устанавливаю к ней флэш и ява плагины.
Если на странице есть флэшка то её обрабатывает флэш плагин, тоесть этот флэш плагин является как бы транслятором для флэшки. Флэшка является как бы программой которая выполняется через этот транслятор-флэш плагин, данные с которого передаются в браузер. Точно так же как я понимаю обстоит дело и с ява скриптами.
Существует ли какой либо транслятор-плагин под пхп, тоесть вместе с html кодом на клиентскую машину приезжает и пхп код который обрабатывается этим пхп транслятором, что бы вообще отказаться от ява скриптов, флэшек и заменить их на пхп.
Если такой транслятор существует то где его можно скачать и почитать про него? Если нет то интересно почему он до сих пор не написан?
За ответ заранее благодарен.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB