Это просто быстрый сценарий для сообщения к тому, что я называю «файлом психического журнала». Просто чтобы следить за своими мыслями, когда я дрейфую и возвращаюсь к работе. Во всяком случае, в большинстве случаев это работает нормально, но время от времени я получаю ошибку сегментации. Слышал о них в Си, но никогда не имел их раньше в PHP. Вот сценарий:
#!/usr/bin/php
<?php
$mental_log_file = "/home/ali/mental-log";
array_shift($argv); //get rid of the initial arg (name of the command)
$log_entry = date('j-n-y H:i') . ' ' . implode(' ', $argv) . "\n";
file_put_contents($mental_log_file, $log_entry, FILE_APPEND);
Вот что я получаю за несколько пробежек:
ali@oem-desktop:~$ mlog blah
ali@oem-desktop:~$ mlog blah
Segmentation fault
ali@oem-desktop:~$ mlog blah
ali@oem-desktop:~$ mlog blah
Segmentation fault
ali@oem-desktop:~$ mlog blah
ali@oem-desktop:~$ mlog blah
ali@oem-desktop:~$ mlog blah
Segmentation fault
ali@oem-desktop:~$ mlog blah
ali@oem-desktop:~$ mlog blah
Segmentation fault
ali@oem-desktop:~$ mlog blah
Segmentation fault
Есть идеи, что я могу здесь делать неправильно? Кажется, файл корректно обновляется, как и ожидалось, даже в тех прогонах, которые вызывают ошибки сегментации. Я использую Ubuntu 9.04 Jaunty.
ali@oem-desktop:~$ php --version
PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 23 2009 14:37:14)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
Заранее спасибо.