douye4254 2009-07-09 20:04
浏览 59

为什么我在这个PHP命令行脚本中出现此分段错误?

It's just a quick script to a message to what I call a 'mental log file'. Just to keep track of my thoughts when I drift off and get myself back to work. Anyway, it works alright most of the time, but every so often I get a segmentation fault. Heard of them in C, but never had them before in PHP. Here's the script:

#!/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) . "
";

    file_put_contents($mental_log_file, $log_entry, FILE_APPEND);

Here's what I get on a few runs:

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

Any idea of what I could be doing wrong here? The file seems to be updating correctly as expected even on the runs that produce segmentation faults. I'm running 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

Thanks in advance.

  • 写回答

8条回答 默认 最新

  • douque9815 2009-07-09 20:13
    关注

    Try

    strace mlog blah

    and see if that gives some clues as what it is doing when it dies. For what it's worth, I couldn't reproduce that on a 64 bit Jaunty install with the same php build you report.

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值