首页 > 解决方案 > 致命错误:调用 docker PHP 中未定义的函数 gregoriantojd()

问题描述

我已经安装了 docker 和 PHP。这是我用于 apache 模块的 docker 文件。

FROM php:5.6-apache

RUN requirements="" \
    && apt-get update -y && apt-get install -y $requirements 
    && docker-php-ext-install pdo_mysql \
    && docker-php-ext-install mysqli     

但不幸的是,我在我的一个页面中遇到了这个错误。

致命错误:调用未定义的函数 gregoriantojd()

我得到了这个线程并找到了这些行,

cd /usr/ports/misc/php5-calendar && make install
/usr/local/etc/rc.d/php.cgi.sh stop
/usr/local/etc/rc.d/php.cgi.sh start

所以我添加了 && docker-php-ext-install php5-calendar \

代码就像,

FROM php:5.6-apache

RUN requirements="" \
    && apt-get update -y && apt-get install -y $requirements 
    && docker-php-ext-install pdo_mysql \
    && docker-php-ext-install mysqli \
    && docker-php-ext-install php5-calendar 

但现在我明白了,

错误:/usr/src/php/ext/php5-calendar 不存在

当我跑步时

docker-compose up --build

有什么解决办法吗?

标签: phpdocker

解决方案


似乎指定的版本不可用,我不确定您的代码中是否存在对版本的依赖,但这是在 PHP 中安装日历并验证其模块的方法。

FROM php:5-apache
RUN  apt-get update
RUN docker-php-ext-install calendar

建造 docker build -t test .

运行和测试

docker run --rm test bash -c "php -m | grep calendar"


推荐阅读