PHP启动:无法使用Docker,Ubuntu和Ambientum

时间:2018-04-17 12:50:37

标签: sqlite pdo php-7

我在builder-compose上构建并强制重新创建后收到此警告。现在,TNTSearch不起作用,我收到PDOException找不到驱动程序。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php7/modules/pdo_sqlite.so' - Error relocating /usr/lib/php7/modules/pdo_sqlite.so: zend_empty_string: symbol not found in Unknown on line 0

当我尝试更新作曲家时,我会收到:

root@oemshop:~/buster# docker-compose exec app composer update
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php7/modules/pdo_sqlite.so' - Error relocating /usr/lib/php7/modules/pdo_sqlite.so: zend_empty_string: symbol not found in Unknown on line 0
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - teamtnt/laravel-scout-tntsearch-driver v2.0.2 requires teamtnt/tntsearch 0.9.* -> satisfiable by teamtnt/tntsearch[v0.9.0].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.0 requires teamtnt/tntsearch 0.8.* -> satisfiable by teamtnt/tntsearch[v0.8.0, v0.8.1, v0.8.2, v0.8.3, v0.8.4, v0.8.5, v0.8.6, v0.8.7, v0.8.8, v0.8.9].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.1 requires teamtnt/tntsearch 0.8.* -> satisfiable by teamtnt/tntsearch[v0.8.0, v0.8.1, v0.8.2, v0.8.3, v0.8.4, v0.8.5, v0.8.6, v0.8.7, v0.8.8, v0.8.9].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.5 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.7, v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.3 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.7, v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.4 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.7, v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6].
    - teamtnt/laravel-scout-tntsearch-driver v2.0.5 requires teamtnt/tntsearch 1.0.* -> satisfiable by teamtnt/tntsearch[v1.0.7, v1.0.0, v1.0.1, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6].
    - teamtnt/tntsearch v0.9.0 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.9 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.8 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.7 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.6 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.5 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.4 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.3 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.2 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.1 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v0.8.0 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.7 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.7 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.6 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.5 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.4 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.3 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.2 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.1 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - teamtnt/tntsearch v1.0.0 requires ext-pdo_sqlite * -> the requested PHP extension pdo_sqlite is missing from your system.
    - Installation request for teamtnt/laravel-scout-tntsearch-driver ^2.0 -> satisfiable by teamtnt/laravel-scout-tntsearch-driver[v2.0.0, v2.0.1, v2.0.2, v2.0.3, v2.0.4, v2.0.5].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php7/php.ini
    - /etc/php7/conf.d/00_apcu.ini
    - /etc/php7/conf.d/00_bcmath.ini
    - /etc/php7/conf.d/00_bz2.ini
    - /etc/php7/conf.d/00_ctype.ini
    - /etc/php7/conf.d/00_curl.ini
    - /etc/php7/conf.d/00_exif.ini
    - /etc/php7/conf.d/00_gd.ini
    - /etc/php7/conf.d/00_imagick.ini
    - /etc/php7/conf.d/00_imap.ini
    - /etc/php7/conf.d/00_intl.ini
    - /etc/php7/conf.d/00_json.ini
    - /etc/php7/conf.d/00_mbstring.ini
    - /etc/php7/conf.d/00_mcrypt.ini
    - /etc/php7/conf.d/00_mongodb.ini
    - /etc/php7/conf.d/00_mysqli.ini
    - /etc/php7/conf.d/00_opcache.ini
    - /etc/php7/conf.d/00_openssl.ini
    - /etc/php7/conf.d/00_pdo.ini
    - /etc/php7/conf.d/00_pdo_pgsql.ini
    - /etc/php7/conf.d/00_pgsql.ini
    - /etc/php7/conf.d/00_session.ini
    - /etc/php7/conf.d/00_sqlite3.ini
    - /etc/php7/conf.d/00_xdebug.ini
    - /etc/php7/conf.d/00_xml.ini
    - /etc/php7/conf.d/00_zip.ini
    - /etc/php7/conf.d/00_zlib.ini
    - /etc/php7/conf.d/01_dom.ini
    - /etc/php7/conf.d/01_mysqlnd.ini
    - /etc/php7/conf.d/01_pdo_sqlite.ini
    - /etc/php7/conf.d/01_phar.ini
    - /etc/php7/conf.d/01_soap.ini
    - /etc/php7/conf.d/01_xmlreader.ini
    - /etc/php7/conf.d/20_pdo_mysql.ini
    - /etc/php7/conf.d/20_redis.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

我也使用ambientum。

Dockerfile

###
# Ambientum
#
# Repository:    PHP
# Image:         PHP-FPM + Nginx
# Version:       7.1.x
# Strategy:      PHP From PHP-Alpine Repository (CODECASTS) + Official Nginx
# Base distro:   Alpine 3.5
#
# Inspired by official PHP images.
#
FROM ambientum/php:7.1

# Repository/Image Maintainer
MAINTAINER Diego Hernandes <diego@hernandev.com>

# Reset user to root to allow software install
USER root

# Copy nginx and entry script
COPY nginx.conf /etc/nginx/nginx.conf
COPY start.sh  /home/ambientum/start.sh

# Install nginx from dotdeb (already enabled on base image)
RUN echo "--> Alpine linux repositories" && \
    echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \
    echo "http://dl-2.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \
    echo "http://dl-3.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \
    echo "http://dl-4.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \
    echo "http://dl-5.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \
    echo "http://dl-2.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
    echo "http://dl-3.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
    echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
    echo "http://dl-5.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
    echo "--> Installing Nginx" && \
    apk add --update --update-cache --allow-untrusted nginx \
      php7-dom \
      php7-sqlite3 \
      php7-pdo_sqlite \
      pngquant \
      gifsicle \
      perl \
      jpegoptim && \
    echo "--> Fixing permissions" && \
    mkdir /var/run/nginx && \
    chown -R ambientum:ambientum /var/run/nginx && \
    chown -R ambientum:ambientum /var/log/nginx && \
    chown -R ambientum:ambientum /var/lib/nginx && \
    chmod +x /home/ambientum/start.sh && \
    chown -R ambientum:ambientum /home/ambientum && \
    mkdir /var/tmp/nginx/client_body && \
    chown -R ambientum:ambientum /var/tmp/nginx
    # rm -rf /tmp/* /var/tmp/* /usr/share/doc/*

# Define the running user
USER ambientum

# Application directory
WORKDIR "/var/www/app"

# Expose webserver port
EXPOSE 8080

# Starts a single shell script that puts php-fpm as a daemon and nginx on foreground
CMD ["/home/ambientum/start.sh"]

我不知道该怎么办。请有人帮助我。

0 个答案:

没有答案