我elgg 1.8.0.1
在 Windows XP 上尝试过,安装成功,但在 Fedora 12 上尝试时却无法安装。这是我解压 elgg 1.8.0.1 的 zip 文件时发生的情况,现在/var/www/html
当我使用firefox
转到 URL 时http://localhost/elgg-1.8.0.1
,它会询问我是否要打开或保存install.php
,但是当我使用文本编辑器打开它或保存它然后打开它时它是一个空文件。文件大小为 0 字节。当我使用 Konqueror 执行上述操作时,它会立即显示超时错误(在我按下回车键时)。
我检查了 apache 的错误日志,它显示以下行
child pid 2147 exit signal Segmentation Fault(11)
我能够在 fedora 上成功安装 elgg 1.7.11,并且能够顺利运行其他 php 文件。我想知道会出什么问题*因为 elgg 1.8.0.1 在 windows XP 中安装成功。 (注:我有在 elgg 1.8.0.1 目录中读取、写入和执行脚本的适当权限)
更新:
我试过了strace php install.php
,得到了一条很长的踪迹,但只显示了最后几行
mmap2(NULL, 11905, PROT_READ, MAP_SHARED, 3, 0) = 0xb77cb000
munmap(0xb77cb000, 11905) = 0
close(3) = 0
getdents(4, /* 0 entries */, 32768) = 0
time(NULL) = 1317422887
access("/usr/share/zoneinfo/Asia/Calcutta", R_OK) = 0
access("/var/www/html/elgg-1.8.0.1/engine/settings.php", R_OK) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
现在知道为什么会出现这个分段错误了吗?我读到过无限递归函数调用会导致分段错误,但如果这是问题所在,它就不会在 Windows 上运行。如果我尝试使用include
或require
或包含大量文件require_once
,这会导致 php 出现分段错误吗?
答案1
我的 php 版本有一个错误。更新到更高版本解决了该问题。