V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fl2d
V2EX  ›  问与答

求助,把单位的 owncloud 搞挂了。。有用过这玩意儿的没。。

  •  
  •   fl2d · 2017-04-17 17:59:23 +08:00 · 2777 次点击
    这是一个创建于 2807 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景是这样的。。上礼拜手贱,升级了一下两年没滚过的 archlinux ,结果 owncloud 挂了。
    查找原因是 postgresql 服务启动不了了。详见此帖: /t/354746

    在各位 v 友的帮助下,以及依靠我自己也无法理解的玄学,现在 pqsql 服务能启动了。
    数据目录也是以前的目录,啥都没动过。
    owncloud 的配置文件也啥也没动过。

    可是进 owncloud 网址,仍然是 http error 500 。。 T T
    httpd 重启了也一样。之前还觉得是数据库的问题,这下子完全没有头绪了,生无可恋了。。

    有用过 owncloud 的朋友没。。能不能帮我分析一下,大概是哪方面的问题啊??
    第 1 条附言  ·  2017-04-17 18:39:03 +08:00
    日志看不太懂。。

    {"reqId":"S\/bQMCxWto3en4vesbDS","remoteAddr ”:” xxx.xxx.xxx.xxx ”,” app":"index","message":"Exception: {\"Exception\":\"Error\",\"Message\":\"[] operator not supported for strings\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/private\\\/App\\\/InfoParser.php(188): OC\\\\App\\\\InfoParser->xmlToArray(Object(SimpleXMLElement))\\n#1 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/private\\\/App\\\/InfoParser.php(59): OC\\\\App\\\\InfoParser->xmlToArray(Object(SimpleXMLElement))\\n#2 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/app.php(662): OC\\\\App\\\\InfoParser->parse('\\\/usr\\\/share\\\/weba...')\\n#3
    。。。
    OC_App::shouldUpgrade('files')\\n#7 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/private\\\/legacy\\\/util.php(622): OC_Util::needUpgrade(Object(OC\\\\AllConfig))\\n#8 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/base.php(587): OC_Util::checkServer(Object(OC\\\\AllConfig))\\n#9 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/base.php(967): OC::init()\\n#10 \\\/usr\\\/share\\\/webapps\\\/owncloud\\\/index.php(37): require_once('\\\/usr\\\/share\\\/weba...')\\n#11 {main}\",\"File\":\"\\\/usr\\\/share\\\/webapps\\\/owncloud\\\/lib\\\/private\\\/App\\\/InfoParser.php\",\"Line\":186}","level":3,"time":"2017-04-17T19:33:12+09:00","method":"GET","url":"\/owncloud\/","user":"--"}

    {"reqId":"S\/bQMCxWto3en4vesbDS","remoteAddr ”:” xxx.xxx.xxx.xxx ”,” app":"PHP","message":"Error: [] operator not supported for strings at \/usr\/share\/webapps\/owncloud\/lib\/private\/App\/InfoParser.php#186","level":3,"time":"2017-04-17T19:33:12+09:00","method":"GET","url":"\/owncloud\/","user":"--"}
    第 2 条附言  ·  2017-04-21 15:07:33 +08:00
    终于恢复了。。多谢大家!
    之前一个礼拜,谁要用里面的东西,都得让我 scp 下来。。 T T
    10 条回复    2017-04-21 15:03:45 +08:00
    RAS
        1
    RAS  
       2017-04-17 18:09:29 +08:00 via iPhone   ❤️ 1
    把数据先打包下回来,数据库备份,在别的机子装个新版,导入数据库和文件,先试试。可以了再操作……
    eDeeraiD0thei6Oh
        2
    eDeeraiD0thei6Oh  
       2017-04-17 18:11:46 +08:00
    楼主不是 ops ?
    kokutou
        3
    kokutou  
       2017-04-17 18:13:18 +08:00 via Android   ❤️ 1
    那么问题来了:日志呢?

    其实你自己翻翻日志看看报错说不定就知道原因了。。。
    jarlyyn
        4
    jarlyyn  
       2017-04-17 18:24:43 +08:00   ❤️ 1
    我上次就回过了啊

    走 docker 啊

    然后把数据目录备份一下, mount 上去啊……
    fl2d
        5
    fl2d  
    OP
       2017-04-17 18:41:43 +08:00
    @jarlyyn
    我之前是琢磨能跑通了我就闪了,再也不碰它了,把坑留给后来人。。嗯,那我琢磨一下 docker 咋整。。

    @kokutou
    上日志了,日志看不太懂。。
    jarlyyn
        6
    jarlyyn  
       2017-04-17 18:45:50 +08:00   ❤️ 1
    @fl2d

    和坑没关系,

    docker 能脱离系统版本,运行制定版本的软件。

    只要找到和你之前的 pg 版本一致的镜像。就能跑起来了。
    icedream728
        7
    icedream728  
       2017-04-18 10:27:44 +08:00   ❤️ 1
    应该是 php 和程序的问题,换个 php 版本还有检查下第三方插件
    fl2d
        8
    fl2d  
    OP
       2017-04-18 16:00:52 +08:00
    @icedream728

    擦,确实是 php 版本问题。 owncloud 不支持 php7.1 。

    可是我装老版本 php 后提示:
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/intl.so' - libicui18n.so.57: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/zip.so' - libzip.so.4: cannot open shared object file: No such file or directory in Unknown on line 0

    请问你知道这是啥问题不?

    我是这样装的老版本 php :
    pacman -U php-7.0.9-1-x86_64.pkg.tar.xz php-apache-7.0.9-1-x86_64.pkg.tar.xz php-gd-7.0.9-1-x86_64.pkg.tar.xz php-intl-7.0.9-1-x86_64.pkg.tar.xz php-mcrypt-7.0.9-1-x86_64.pkg.tar.xz php-pgsql-7.0.9-1-x86_64.pkg.tar.xz
    我也试过其他版本了,可是提示都一样。
    icedream728
        9
    icedream728  
       2017-04-18 16:50:20 +08:00   ❤️ 1
    如果不需要 intl 和 zip ,就在 php 配置文件里关掉。如果需要,就装上 intl 和 zip 。
    fl2d
        10
    fl2d  
    OP
       2017-04-21 15:03:45 +08:00
    @icedream728

    我先是在 php 配置文件里关了 zip 和 intl , php 不报错了,可是 owncloud 还是打不开。
    后来我发现之前的问题是由于我装了老版本 php 以后,没有重启一下 postgresql 的服务。
    重启 pqsql 后,通过网址访问 owncloud ,提示需要 php zip 模块。
    在网上搜也没看到怎么重装 php zip 。。

    之前报错是 libzip.so.4 找不到,我找到了一个 libzip.so.5 ,然后 ln 过去了,于是 owncloud 终于恢复了! T T

    目前用着到是似乎没啥问题了,请问这样做有啥隐患没?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5598 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:20 · PVG 11:20 · LAX 19:20 · JFK 22:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.