0

我有一个运行我们的 PHP 代码的 docker 容器。我主要在我的 Windows 10 PC 上处理该项目,但最近不得不使用运行 macOS Big Sur 的 mac。

问题是在我的 Windows PC 上,容器工作正常。两者实际上都在构建方面。但是在 Mac 上,当我在 localhost:8080 上加载容器时,它会抛出一个错误,比如会话没有按预期工作。我遵循了与非工作会话相关的指南,但似乎无法解决它,并且确实需要一些帮助。

当我记录错误时,我得到以下信息:

致命错误:未捕获的异常:无法在 /var/www/html/core/init.php:14 中开源设备 堆栈跟踪:#0 /var/www/html/core/init.php(14): session_start() # 1 /var/www/html/index.php(3): include('/var/www/html/c...') #2 {main} 下一个异常:无法在 /var/www/html 中开源设备/core/init.php:14 堆栈跟踪:#0 /var/www/html/core/init.php(14): session_start() #1 /var/www/html/index.php(3): include( '/var/www/html/c...') #2 {main} 下一个异常:无法在 /var/www/html/core/init.php:14 中开源设备 堆栈跟踪:#0 /var/www /html/core/init.php(14): session_start() #1 /var/www/html/index.php(3): include('/var/www/html/c...') #2 { main} 下一个异常:无法在 /var/www/html/core/init.php:14 中开源设备 堆栈跟踪:#0 /var/www/html/core/init.php(14): session_start() #1 /var/www/html/index.php(3):include('/var/www/html/c...') #2 {main} 下一个错误:无法创建会话 ID:/var/www 中的文件(路径:/var/lib/php/7.2/session) /html/core/init.php:14 堆栈跟踪:#0 /var/www/html/ in /var/www/html/core/init.php 第 14 行

我认为 docker 容器构建与它无法创建会话 ID 的事实没有任何关系。会话 ID 路径已经存在,我也尝试过 777 该特定路径,但没有任何效果。无论如何,只是为了确保它不是容器并给出适当的概述,我添加了 dockerfile。

FROM amazonlinux:2018.03

RUN yum update -y && yum install -y \
sudo \
httpd24 \
mod24_ssl \
gcc \
sed \
memcached \
openssl-devel \
php72 \
php72-bcmath \
php72-cli \
php72-common \
php72-dba \
php72-dbg \
php72-devel \
php72-enchant \
php72-fpm \
php72-gd \
php72-gmp \
php72-imap \
php72-intl \
php72-mysqli \
php72-mysql \
php72-json \
php72-ldap \
php72-mbstring \
php72-mcrypt \
php72-mysqlnd \
php72-odbc \
php72-pdo \
php72-pdo-dblib \
php72-pecl-igbinary \
php72-pecl-imagick \
php72-pecl-memcached \
php72-pecl-oauth \
php72-pecl-ssh2 \
php72-pecl-uuid \
php72-pecl-yaml \
php72-pgsql \
php72-process \
php72-pspell \
php72-recode \
php72-snmp \
php72-soap \
php72-tidy \
php72-xml \
php72-xmlrpc \
php72-zip \
php7-pear \
mysql57-server \
nano \
man \
&& yum clean all


RUN rm -rf /var/www/*
ADD source /var/www/html/

#deleted by start-servers
ADD .access_keys/origin_ssl /etc/httpd/conf/ssl/
ADD deploy_scripts/where.txt /var/www/where/

EXPOSE 80


CMD /usr/bin/env bash start-servers;sleep infinity

这是错误发生的地方 source/core/init.php

<?php session_start();
4

0 回答 0