这只是向我所谓的“心理日志文件”发送消息的快速脚本。只是为了跟踪我的想法,以便在我离开家并重新投入工作时。无论如何,它在大多数情况下都可以正常运行,但是我经常会遇到段错误。在C中听说过它们,但是在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等等
ali @ oem-desktop:〜$ mlog等等
分段故障
ali @ oem-desktop:〜$ mlog等等
ali @ oem-desktop:〜$ mlog等等
分段故障
ali @ oem-desktop:〜$ mlog等等
ali @ oem-desktop:〜$ mlog等等
ali @ oem-desktop:〜$ mlog等等
分段故障
ali @ oem-desktop:〜$ mlog等等
ali @ oem-desktop:〜$ mlog等等
分段故障
ali @ oem-desktop:〜$ mlog等等
分段故障

我在这里可能做错了什么的想法吗?即使在运行中会产生段错误,该文件似乎仍可以按预期正确更新。我正在运行Ubuntu 9.04 Jaunty。

ali @ oem-desktop:〜$ php --version
带有Suhosin-Patch 0.9.6.2(cli)的PHP 5.2.6-3ubuntu4.1(内置:2009年4月23日14:37:14)
版权所有(c)1997-2008 The PHP Group
Zend Engine v2.2.0,版权所有(c)1998-2008 Zend Technologies

提前致谢。

最佳答案

尝试
strace mlog blah
看看它死后是否提供一些线索。对于它的值(value),我无法在您报告的相同php版本的64位Jaunty安装上重现。

关于php - 为什么在此PHP命令行脚本中出现此段错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1106166/

10-11 06:48