Forum Webscript.Ru
Программирование => PHP => Тема начата: leksas от 30 Апреля 2003, 15:23:13
-
Привет всем !
Когда компиляю Apache+PHP+Oracle перестает работать mail(), причем если компиляю Apache+PHP все работает. Может кто знает где грабли ? Вот мой конфиг:
Apache 1.3.26
LIBS="-lpthread" \\
SSL_BASE="/home/sergeyv/src/openssl-0.9.6g" \\
./configure \\
"--prefix=/usr/local/apache_ssl" \\
"--enable-shared=ssl" \\
"--activate-module=src/modules/php4/libphp4.a" \\
"--with-layout=Apache" \\
"--enable-module=so" \\
"--enable-module=log_agent" \\
"--enable-module=usertrack" \\
"--enable-module=log_referer" \\
"--enable-module=info" \\
"--enable-module=include" \\
"--enable-module=ssl" \\
"$@"
PHP 4.3.1\'./configure\' \\
\'--with-apache=../apache_1.3.26\' \\
\'--with-mod_charset\' \\
\'--enable-dba=shared\' \\
\'--enable-mailparse\' \\
\'--with-gd\' \\
\'--with-zlib-dir=/usr/include\' \\
\'--with-jpeg-dir=/usr/include\' \\
\'--with-oci8\' \\
\'--with-oracle\' \\
\'--with-informix=/opt/informix\' \\
\'--enable-trans-sid\' \\
\'--enable-sockets\' \\
\'--prefix=/usr/local/php_stat\' \\
\'--with-mysql\' \\
"$@"
-
Что значит "перестает работать"?
За конфиг, конечно, спасибо, но ошибки-же какие-то mail() выдавать должна?
-
никаких ошибок. Просто молчит. в консоле mail работает, т.е. mail agent все шлет. Если компиляется без оракла - все работает как надо. Он шлет - я получаю. Блин ! Если подключаю геракл - все ! Причем уровнь отображения ошибок стоит самый подробный в php.ini,
$bb=mail("1@1.1", "xx","xx");
print $bb;
ничего не выдает. Пробовал через класс ErrorHandler - все нормально. Ни-ка-ких ошибок. Но нифига не работает. Какие мысли ?
-
$bb=mail("1@1.1", "xx","xx");
print $bb;
ничего не выдает.
Ну если mail() false вернул, то ты ничего и не увидишь.
Попробуй так:
$bb=mail("1@1.1", "xx","xx");
if ($bb === true){
echo "Прошло!";
} elseif ($bb === false){
echo "Не прошло :(";
} else {
echo "хз что :(";
}
Но решения такой проблемы я не подскажу...
-
FreeSpace
if ($bb === true){
echo "Прошло!";
} elseif ($bb === false){
echo "Не прошло
";
} else {
echo "хз что
";
}
офигительно !
оказывается bool это tristate тип !
-
А кто сказал, что $bb обязательно bool?
Любое значение кроме true или false, например 0 или \'\', (хоть по докам их быть и не должно) попадет как раз вот в это третье условие...
-
А кто сказал, что $bb обязательно bool?
bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
Purpose: send mail
Availability: PHP 3, PHP 4
-
Ну что-ж, против лома нет приёма :)
Но ведь хоть тот мой код и избыточен, он работает...
PS: Тем более, я же уточнил: (хоть по докам их быть и не должно)
-
интересная штука выходит... в консоли команда
php test.php
работает !!! А через апач не хочет. В test.php содержиться
if (mail("leksas@nnov.stelt.ru", "Test", "Test") ){
print "\\n Passed \\n";
}else{
print "\\n Error send mail.\\n";
}
какие мысли будут ?
-
А остальные скрипты на php через апач работают?
В самом деле мистика...
-
Может, ты запускаешь скрипт через один пхп, а Апач настроен для работы с другим, глючным?
-
насчет двоякого использования пхп - проверю щас, но почему все таки Oracle явл камнем преткновения ? Без него-то все пучком ... Народ, ну подумай - придумай хоть что нибудь !!! Нет сил уже компилять одно и тоже. :-(
Кстати, благодарю за активность всех :) Кто как думает по этому вопросу - давай любые мысли сюда... бум думать вместе.
-
Уточнение...
не работает ни одна функция для выполнения системных команд
escapeshellarg -- escape a string to be used as a shell argument
escapeshellcmd -- escape shell metacharacters
exec -- Execute an external program
passthru -- Execute an external program and display raw output
proc_close -- Close a process opened by proc_open and return the exit code of that process.
proc_get_status -- Get information about a process opened by proc_open()
proc_open -- Execute a command and open file pointers for input/output
shell_exec -- Execute command via shell and return complete output as string
system -- Execute an external program and display output
Что случилось ? Может где-тот в Apache надо что-то прописать ?
-
Может у тебя safe_mode вообще включен?
-
нет. выключен.