Tag: PHP

为什么在PhpStorm和Docker中有phpinfo()之间的区别?

你有没有遇到PhpStorm的问题,看到其他模块加载php.ini比显示在Docker中使用php –ini ? 例如: 这些是由Docker中的php –ini显示的模块: /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-curl.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-mbstring.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.0/cli/conf.d/20-pgsql.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xdebug.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini 这些是由PhpStorm连接到相同的docker集装箱看到的模块: /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, […]

解决了! Docker Plesk Yii2 MongoDB连接问题

Docker和Yii2 MongoDB在我的VPS上有连接问题。 我正在使用Plesk Onyx的VPS。 我已经创build了Mongo Docker容器和Mongo-express Docker容器来轻松pipe理我的MongoDB。 当我尝试通过PHP的“mongodb:// localhost:27017 / mydb”,我的web应用程序(内置yii2 MongoDB)连接到MongoDB时,问题就出现了,没有任何错误,但它似乎无法连接到db我想要的。 我尝试了不同的连接,例如从VPS的沙盒模式的MongoDB Atlas,一切都OK! 可能是什么问题,或者我该如何debugging呢?

用php和sendmail发送邮件testingdocker容器

我在Ubuntu的16.04。 我有一个(testing)docker(docker组成)容器运行PHP 5.6和Apache 2.4。 随着生产平板(无docker)邮件发送与sendmail。 如何发送testing邮件在docker集装箱(与sendmail)? 预先感谢回复。

Docker的PHP 7.1 imagick

Docker的PHP 7.1 imagick: – pecl install imagick \ && docker-php-ext-enable imagick \ 没有可用的包“pecl.php.net/imagick”安装失败 错误:服务“应用程序”无法build立

在docker集装箱找不到Mysqli(程序)

我正在Docker容器中运行php:7.0-apache镜像。 当我尝试连接到数据库时,出现以下消息: Warning: mysqli_connect(): (HY000/2002): No such file or directory in /var/www/html/functions.php on line 373 这里是我明确安装mysqli扩展的Dockerfile FROM php:7.0-apache # Install mysql RUN docker-php-ext-install mysqli pdo_mysql [….] 它似乎是根据phpinfo()安装: phpinfo的输出 。 这里有一个类似的问题: 在(php-fpm)docker容器中找不到mysqli 。 在这种情况下的答案是一个名称空间问题,并且需要使用根名称空间。 但是,我已经得到了mysqli调用的程序风格。 $con = mysqli_connect($DB_location,$DB_user,$DB_pass,$DB_name); 还有这种格式的命名空间问题? 我没有这个问题,如果不尝试在容器内运行。

从哪里加载我的php.ini?

我正在运行这个Linux Debian的Docker实例:jessie with php 5.6。 这是我phpinfo的一部分: 正如我们可以看到php.ini应该位于 /usr/local/etc/php 这就是我在/ usr / local / etc / 但是里面没有php.ini。 另一方面,我有php.ini里面 那么,从哪里我的php.ini正在加载? 我们甚至没有一个PHP进程运行,但PHP似乎是好的 – 在屏幕上显示phpinfo。

无法将PhpStorm与Docker的xdebug连接起来

我有以下的Dockerfile: FROM php:7.0-fpm-alpine RUN apk add –update –virtual build_deps gcc g++ autoconf make &&\ docker-php-source extract &&\ pecl install xdebug &&\ echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_autostart=0" >> /usr/local/etc/php/conf.d/xdebug.ini &&\ echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/xdebug.ini &&\ echo "xdebug.remote_handler = dbgp" >> /usr/local/etc/php/conf.d/xdebug.ini &&\ echo "xdebug.remote_mode […]

如何在Docker容器启动时将文件从一个位置复制到另一个位置?

从基本图像php5.6开始,我使用了下面的Dockerfile来创build一个图像: FROM php:5-apache # Update apt-get RUN apt-get update ## UTILITIES RUN apt-get install -y vim #RUN apt-get install -y wget ## APACHE2 basic installation RUN apachectl -M RUN a2enmod rewrite RUN a2enmod expires RUN service apache2 restart RUN apachectl -M ################################################ ## PHP modules RUN php -m RUN apt-get install -y php5-common RUN apt-get […]

Docker – 为Cron容器使用PHP Cli基础镜像

所以我最近对Docker和Docker-Compose一直很有兴趣,但需要社区的build议。 我有一个docker-compose文件,包含: 一个Nginx容器(基于nginx:1.12-alpine形象) 一个PHP-7.0 FPM容器(基于php:7.0-fpm-alpine图片) 一个MySQL容器(基于alpine:3.6镜像) 为了与Docker将进程分离成单个容器的原理保持一致,现在我想添加第四个容器来运行Cron。 crontab将会是简单的: */5 * * * * www-data sh /var/www/html/cron.sh 这是一个Magento网站,而cron通常需要体面的计算能力 – 因此,我认为将它放在自己的容器中会很好。 我有3个问题关于这个… 1)Magento的cron.sh运行一些检查,然后运行cron.php ,所以我认为我的新的cron容器必须安装php并运行 – 正确吗? 2)假设我需要在cron容器中运行php,那么我不确定是否应该创build一个基于php:7.0-cli-alpine图像的Dockerfile或使用替代方法? 我已经读过CLI映像不能在守护进程模式下运行,所以这个容器可能会在运行docker-compose up -d后立即退出。 3)假设我在上面的(1)和(2)中是正确的,我是否需要确保在我的自定义PHP-7.0 FPM映像中安装的任何PHP / PECL扩展也安装在这个新的cron映像中? 谢谢你的时间!

Symfony项目中的Dockerfile?

我有一个symfony 3项目,我正在运行使用以下命令: php bin/console server:run 不过,我已经build立了一个Docker镜像,它使用下面的Dockerfile: FROM php:7.0-fpm WORKDIR / ADD . / EXPOSE 8000 ENTRYPOINT php bin/console server:run 有了入口点,我打算在运行Docker容器时实际运行项目。 不过,虽然我得到正确的信息说: [OK] Server listening on http://127.0.0.1:8000 该项目实际上不可用。 有人可以告诉我我哪里去错了!