powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Segmentation fault
16 сообщений из 16, страница 1 из 1
(PHP) Segmentation fault
    #33152979
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните пожалуйста новичку что такое Segmentation fault и как с ним бороться.
До сегодняшнего дня у меня все скрипты при запуске из командной строки работали нормально. Теперь при выполнении выдаёт Segmentation fault. Из браузера ошибок Segmentation fault не видно, но очевидно что с PHP чтото не то. Как то криво работает.
Я заметил что чаще это происходит если я вывожу переменную функцией echo.
OC Linux, PHP Version 5.0.3.
Что мне делать? :-(
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154681
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё началось с того когда в скрипт PHP, я включил другой скрипт функцией include().
Может это такой PHP? Может мне стоит собрать заново PHP только версии 4.x?
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154762
.-.-.-.-.-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можешь показать готовый скрипт (не более 15 строк кода) который бы приводил в Segmentation fault ?
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154830
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот кусок.

#!/usr/local/php/bin/php
<?php
//require('paths.txt');
///////////////////////////////////
$name="$argv[1]";
$file = join('', file("$name"));
$pattern_nach = "/^\(\(\/\/(\d+):(\d+):(\d+):\+\+/m";
$count = preg_match($pattern_nach, $file, $out);
.....
if ($num==3)
{
// include('copy.php'); //Из-за вот этого, всё началось.
$count = preg_match_all($pattern, $file, $out,PREG_SET_ORDER);
if (!$count) {echo "File $name is not data file!"; exit;}

скрипт с этим куском раньше выполнялся. после того как я добавил require и include начался Segmentation fault, Причём уже не зависимо от того закоментированы строки с ними или нет, скрипт из командной строки не выполняется. Или выполняется но только тогда когда ему захочется.
Голову ломаю, что и делать...
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154893
Ksnk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А там случайно рекурсии нету? Ну типа один из инклудов включает опять другой и т.д.
Можно порекомендовать использовать функцию include_once и require_once. вместо include и require соответственно.
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154912
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Её никак не может быть.
Segmentation fault выдаётся даже когда require и include закоментированы
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33154973
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка такая

./file_load: line 4: 10247 Segmentation fault ./load.php
file_load - это sh-файл, в котором в 4 стоке вызывается ./load.php в котором и находятся грабли. 10247 изменяется каждый раз.
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155076
.-.-.-.-.-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.-.-.-.-.-можешь показать готовый скрипт (не более 15 строк кода) который бы приводил в Segmentation fault ?
готовый - значит такой скрипт, который я могу выполнить у себя на компе после обычного copy-paste.
То есть без всяких ... в коде и без require ('внешний файл');
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155086
.-.-.-.-.-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если просто выполнить
Код: plaintext
> /usr/local/php/bin/php load.php 
ошибка та же ?
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155104
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас постараюсь оформить
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155148
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И кстати очень интересный результат получается...
Итак:
после > /usr/local/php/bin/php load.php
ошибка > Segmentation fault

Из load.php я оставил

#!/usr/local/php/bin/php
<?php
putenv("ORACLE_HOME=/opt/ora9/product/9.2");
putenv("ORACLE_SID=ora9i");

$conn = ocilogon("www","oracle9i","ora9i_156.23.65.45");

if ($conn < 0) {
echo("Could not connect to Oracle.\n");
die;
}

ocicommit($conn);
ocilogoff($conn);
?>
и тоже ошибка > Segmentation fault
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155285
.-.-.-.-.-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопросы по php+oracle я рекомендую задавать на форуме ПХПКлуба.
Там есть парень, который поддерживает php_oci
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155291
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы проверили? у вас тоже ошибка?
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155341
.-.-.-.-.-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня нет oracle
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33155690
Whitish Smoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте здесь, может это вам поможет.

http://]http://www.linuxforum.ru/index.php?s=4324f2f23df96e0aa812929bad50c064&showtopic=8039&pid=86337&st=0entry86337
...
Рейтинг: 0 / 0
(PHP) Segmentation fault
    #33158856
kianu2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я нашёл способ обойти этот сегфолт.
Раньше, на другой машине, я коннектился к БД Оракл из PHP так.
<?php
putenv("ORACLE_HOME=/opt/ora9/product/9.2");
putenv("ORACLE_SID=ora9i");
$conn = ocilogon("base", "oracle", "ora9i_156.87.85.58" ) ;
?>
Терерь на другой машине при бызове этого кода из командной строки вылетает сегфолт
Эту проблему я решил таким путём.
<?php
$db = "(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 156.87.85.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora9i)
)
) ";

putenv("ORACLE_HOME=/opt/ora9/product/9.2");
putenv("ORACLE_SID=ora9i");

$conn = ocilogon("base", "oracle", $db ) ;

?>
Что то не так с TNSNAMES.ORA. не пойму что. Так то оно работает, но хотелось бы избавить себя от лишнего кода при написании скриптов с коннектом к базе.
Есть идеи?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Segmentation fault
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]