我有运行 Raspbian GNU/Linux 8 的 Raspberry Pi 3 (jessie)
Linux version 4.1.18-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) )
Apache、PHP 和 MySQL 正在运行。它从另一个 LAN 设备读取数据,将其记录到 MySQL DB 并将其发送到远程服务器。 MySQL 表中的行将在写入后 7 天被删除,但前提是它们已成功发送到服务器。
启动时,服务会启动文件loop_send.sh
,该文件每 10 秒调用一次 PHP 脚本:
#!/bin/bash
COUNTER=0
WAITTIME=10
while [ $COUNTER -lt 5 ]; do
/usr/bin/php /var/www/send.php
sleep $WAITTIME
#let COUNTER=COUNTER+1
done
send.php 检查MySQL中是否有新记录并将其发送到远程服务器。
有类似的服务,.sh 和 PHP 文件用于从 LAN 读取数据并写入 MySQL 表。
自 2016 年 6 月以来,该功能一直运行良好。8 月 31 日,它停止向远程服务器报告,但直到现在仍保持开机状态并连接到网络。
其中/var/log/sendservice.err
有数千个:
loop_send.sh: line 9: 3702 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3708 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3711 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3716 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3722 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3725 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3728 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3735 Segmentation fault /usr/bin/php /var/www/send.php
随之而来的是很多:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
进而:
PHP Warning: PHP Startup: curl: Unable to initialize module
Module compiled with build ID=aPI2013q226,NTS
PHP compiled with build ID=API20131226,NTS
These options need to match
in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
进而:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
invalid subsection length 4194340, max allowed 36
该日志文件有 45MB,其中每一条消息在下一条消息之前都会重复很多次。
我猜“分段错误”是其他一切的原因,但我找不到原因。在此之前,Pi 上没有监视器和输入设备。
答案1
从输出中可以清楚地看出,加载到内存中的数据与实际数据不匹配应该不再使用您的媒体。例如:
ID=aPI2013q226,NTS
这显示了多个单位错误。您发布的其他日志条目也表明正在加载的程序也同样损坏。
检查您的 SD 卡或其他介质是否出现故障。