Giter Club home page Giter Club logo

Comments (26)

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

改为自动安装同样的问题, 自动安装如下:

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - ./:/app/usr 
    environment:
      TIMEZONE: Asia/Shanghai
      MEMORY_LIMIT: 100m
      MAX_POST_BODY: 50m
      TYPECHO_INSTALL: 1
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE:615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: name
      TYPECHO_USER_MAIL: email
      TYPECHO_USER_PASSWORD: password
    ports:
      - "2080:80"

自动安装后 前台页面可访问

image

管理界面 503

image

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

改为自动安装同样的问题, 自动安装如下:

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - ./:/app/usr 
    environment:
      TIMEZONE: Asia/Shanghai
      MEMORY_LIMIT: 100m
      MAX_POST_BODY: 50m
      TYPECHO_INSTALL: 1
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE:615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: name
      TYPECHO_USER_MAIL: email
      TYPECHO_USER_PASSWORD: password
    ports:
      - "2080:80"

自动安装后 前台页面可访问

image

管理界面 503

image

找到原因了, 使用自动安装或者手动安装, 无法创建数据库文件, 会报503

如果手动拷贝原来的数据库文件, 所有者不同, 和已经关闭的一个 issue类似, 但是不知道为何会 创建的时候无法创建 db文件.

手动拷贝db 文件的目录如下:
image

不复制的目录则不会有数据库文件:
image

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

在 config.inc.php 文件里加上 define('__TYPECHO_DEBUG__', true);,然后看看报503时具体的报错信息是啥

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

在 config.inc.php 文件里加上 define('__TYPECHO_DEBUG__', true);,然后看看报503时具体的报错信息是啥

不会生成此文件

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我重新安装控制台输出如下:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.52.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.52.2. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 22 13:11:50.190619 2022] [mpm_prefork:notice] [pid 27] AH00163: Apache/2.4.52 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Tue Mar 22 13:11:50.190692 2022] [core:notice] [pid 27] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
172.29.52.1 - - [22/Mar/2022:13:13:27 +0800] "GET /install.php?step=2&driver=Pdo_SQLite HTTP/1.1" 302 271 "http://192.168.31.137:2080/install.php?step=2" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:27 +0800] "GET / HTTP/1.1" 200 2209 "http://192.168.31.137:2080/install.php?step=2" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:29 +0800] "GET /index.php/archives/1/ HTTP/1.1" 200 4053 "http://192.168.31.137:2080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:31 +0800] "GET /admin/login.php HTTP/1.1" 503 1289 "http://192.168.31.137:2080/index.php/archives/1/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我修改了 数据库文件的 所属者 和组 同样不行

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

在 config.inc.php 文件里加上 define('__TYPECHO_DEBUG__', true);,然后看看报503时具体的报错信息是啥

手动添加此文件和 内容, 页面没多余什么内容, 也没看到日志, 我使用的是威联通的nas的 docker环境, 你可试下:
QuTScloud Online Demo | QNAP

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器

TYPECHO_DB_FILE: 615a4d4dabd49.db

改成

TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db

后续我会在代码中修复

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

如果不自动安装, 安装过程界面选择db 的时候会:

但是删除 前面的 /app/usr 能进行下一步, 但是后台仍旧503

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器

TYPECHO_DB_FILE: 615a4d4dabd49.db

改成

TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db

后续我会在代码中修复

按照这个修改 不会自动安装了, 会进入手动安装
image

日志输出如下:

Typecho 1.2.0
PHP 7.4.28
安装程序检查到原有数据表已经存在.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.56.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.56.2. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 22 13:47:30.214003 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue Mar 22 13:47:30.223675 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.52 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Tue Mar 22 13:47:30.223707 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器

TYPECHO_DB_FILE: 615a4d4dabd49.db

改成

TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db

后续我会在代码中修复

按照此方式重新安装一个新的, 测试不会生成数据库文件

image

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

我在本地测试是可以的,你得把原来的容器和service都删掉

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我在本地测试是可以的,你得把原来的容器和service都删掉

我就担心有问题 所以重新创建的. 原来的都删除了, 目录都改了, 原来是的 typecho1, 新的是 devwikiblog

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我在本地测试是可以的,你得把原来的容器和service都删掉

在次重新安装, 仍旧不行, 控制台输出:
image

安装的docker compose
Snipaste_2022-03-22_14-40-02

需要手动创建 blog.db 文件么?

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器

TYPECHO_DB_FILE: 615a4d4dabd49.db

改成

TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db

后续我会在代码中修复

这样修改 仍旧会提示无法找到数据库

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - ./typecho:/app/usr 
    environment:
      TIMEZONE: Asia/Shanghai
      MEMORY_LIMIT: 100m
      MAX_POST_BODY: 50m
      TYPECHO_INSTALL: 1
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: joyqi
      TYPECHO_USER_MAIL: [email protected]
      TYPECHO_USER_PASSWORD: 123456
    ports:
      - "2080:80"

截屏2022-03-22 下午6 00 17

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - ./typecho:/app/usr 
    environment:
      TIMEZONE: Asia/Shanghai
      MEMORY_LIMIT: 100m
      MAX_POST_BODY: 50m
      TYPECHO_INSTALL: 1
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: joyqi
      TYPECHO_USER_MAIL: [email protected]
      TYPECHO_USER_PASSWORD: 123456
    ports:
      - "2080:80"

截屏2022-03-22 下午6 00 17

如果我不带那个路径反而是能安装成功的, 但是找不到 db文件
image

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

@joyqi 我这边测试了下, 使用 威联通 nas 自己的 docker 创建按钮 和步骤来创建是可以自动生成 .db 文件的, 后续我会把创建步骤写个文档出来. 非常感谢~
但是使用 docker-compose方式 不行, 还是无法创建db文件. 如果有时间 还是建议查找一下原因.
这是威联通的nas的 试用入口:
QuTScloud Online Demo | QNAP

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024
Typecho 1.2.0
PHP 7.4.28
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
[Thu Sep 08 00:21:56.921687 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Sep 08 00:21:56.931197 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.53 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Thu Sep 08 00:21:56.931235 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

这个503 报错内容如上 @joyqi

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - ./typecho:/app/usr 
    environment:
      TIMEZONE: Asia/Shanghai
      MEMORY_LIMIT: 100m
      MAX_POST_BODY: 50m
      TYPECHO_INSTALL: 1
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: joyqi
      TYPECHO_USER_MAIL: [email protected]
      TYPECHO_USER_PASSWORD: 123456
    ports:
      - "2080:80"

截屏2022-03-22 下午6 00 17

如果我不带那个路径反而是能安装成功的, 但是找不到 db文件 image

上述的问题原因是: 使用 docker-compose 方式在威联通 nas上安装不会自动创建 config.inc.php, 我手动拷贝了该文件, 然后可以正常安装了. 不再提示招不到文件的问题.

但是 会出现访问非主页的时候提示 500, 即错误:

Typecho 1.2.0
PHP 7.4.28
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
[Thu Sep 08 00:21:56.921687 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Sep 08 00:21:56.931197 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.53 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Thu Sep 08 00:21:56.931235 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

这这里的日志并不是错误日志,只是打印了系统日志。你可以进入容器,在 config.inc.php 里加入

define('__TYPECHO_DEBUG__', true);

然后访问页面,看具体的报错信息

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024
define('__TYPECHO_DEBUG__', true);

好的 晚上回去试试

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

这这里的日志并不是错误日志,只是打印了系统日志。你可以进入容器,在 config.inc.php 里加入

define('__TYPECHO_DEBUG__', true);

然后访问页面,看具体的报错信息

添加之后打印的日志是:

SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
Typecho\Db\Adapter\SQLException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /app/var/Typecho/Db/Adapter/Pdo.php:111
Stack trace:
#0 /app/var/Typecho/Db.php(391): Typecho\Db\Adapter\Pdo->query('UPDATE db_conte...', Object(PDO), 2, 'UPDATE', 'db_contents')
#1 /app/usr/themes/handsome/functions_mine.php(897): Typecho\Db->query(Object(Typecho\Db\Query))
#2 /app/usr/themes/handsome/post.php(53): get_post_view(Object(Widget\Archive))
#3 /app/var/Widget/Archive.php(1415): require_once('/app/usr/themes...')
#4 /app/var/Typecho/Router.php(99): Widget\Archive->render()
#5 /app/index.php(23): Typecho\Router::dispatch()
#6 {main}

但是我看了下权限是正常的, 通用不是 docker-compose 方式安装的, 就一切正常, 他们的权限组 和 用户组 都一样:

image

image

别的 docker镜像, 我在nas上使用 docker-compose 方式安装正常

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

@joyqi

from dockerfile.

joyqi avatar joyqi commented on June 15, 2024

我注意到你的db文件所有者是admin,而其它文件是33

from dockerfile.

Dev-Wiki avatar Dev-Wiki commented on June 15, 2024

我注意到你的db文件所有者是admin,而其它文件是33

我知道这个区别, 但是直接使用nas ui上操作创建的 所有者也是 admin, 数据写入都正常. 我用别的 docker 镜像 需要写数据库的也是使用docker compose 方式部署的,, 也是所有者 admin 写入正常.

image

from dockerfile.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.