Tag: PHP

与PHP和MySql的Docker – $ servername错误

我有一个用PHP和MySql开发的项目。 当我使用连接到数据库我设置连接如下: // Define $username and $password $username=$_POST['username']; $password=$_POST['password']; /* ——————————– CONNESSIONE ————————————– */ $servername = "localhosto"; $username_db = "xxxxxx"; $password_db = "yyyyyy"; $db = "zzzzzz"; try { $conn = new PDO("mysql:host=$servername;dbname=$db", $username_db, $password_db); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully<br/><br/>"; } catch(PDOException $e) { echo "Connection failed: " […]

获取cron在php上运行:7-fpm image

docker工人我很新。 我已经使用php:7-fpm图像设置了一个dockerfile。 除了这个图像被用来运行我的网站,我想添加一个cron来执行常规任务。 我已经创build了一个cron,把它放在正确的文件夹,然后运行docker exec -ti myimage_php_1 /bin/bash然后cron或者如果我tail日志文件一切正常。 但是当容器被创build的时候,我不能得到这个工作,我不想手动启动cron。 据我所知,我需要使用CMD或ENTRYPOINT在启动时运行cron命令,但每当我这样做,它会停止我的网站工作,因为我重写了原始php的必要的CMD/ENTRYPOINTfunction:7-fpm图像。 有没有办法触发这两个cron命令,并像以前一样继续使用php:7-fpm CMD/ENTRYPOINT ?

Docker PHP图像助手并构build依赖关系

这个指令来自于官方的docker php镜像的描述: RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd –with-freetype-dir=/usr/include/ –with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd 我有两个问题: 什么是带有-dev后缀的软件包? 我怎么知道我需要他们,特别是哪些? 什么是-j$(nproc) ?

如何从symfony ymlconfiguration文件中获取docker的envvariables

在docker-compose.yml中: mysql: image: mysql:latest container_name: mysql environment: – MYSQL_ROOT_PASSWORD=root – MYSQL_DATABASE=symfony – MYSQL_USER=symfony – MYSQL_PASSWORD=symfony 我怎么能得到这个variables在XMLconfiguration文件中: parameters: database_host: 172.17.42.4 database_port: 3306 database_name: symfony database_user: symfony database_password: symfony 在$ _SERVER中,它们是这样获取的: $_SERVER["SYMFONY_MYSQL_ENV_MYSQL_DATABASE"], $_SERVER["SYMFONY_MYSQL_PORT_3306_TCP_ADDR"], $_SERVER["SYMFONY_MYSQL_ENV_MYSQL_PASSWORD"], $_SERVER["SYMFONY_MYSQL_ENV_MYSQL_USER"]

使用Docker上的Php / Nginx的工艺CMS不能在Document Root之外编写

我试图build立一个使用Php和Nginx的Docker设置的基本Craft CMS的集装箱版本。 工艺似乎无法写入我的Nginx文档根之外的文件夹。 (请参阅底部的更多细节)我使用的是Docker-Compose,这是我目前的Docker-compose.yml: nginx: build: ./compose/nginx/ ports: – 80:80 links: – php volumes_from: – app php: build: ./compose/php/ expose: – 9000 links: – mysql volumes_from: – app app: image: php:7.0-fpm volumes: – ./app:/var/www/html – ./vendors:/var/www command: "true" mysql: image: mysql:latest volumes_from: – data environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: project MYSQL_USER: project MYSQL_PASSWORD: project data: image: […]

WordPress Docker容器不能上传主题

使用wordpress:latest启动docker集装箱,上传一个25MB的.zip主题文件后,Wordpress显示错误 Are you sure you want to do this? Please try again. docker集装箱开始使用 docker run -d \ –link mysql:mysql \ -p 8080:80 \ -e PHP_UPLOAD_MAX_FILESIZE=100M \ -e PHP_POST_MAX_SIZE=100M \ -e max_execution_time=120 \ -e max_input_time=120 \ -e memory_limit=64M \ -v /root/my-wordpress:/var/www/html/wp-content \ –name my-wordpress \ wordpress:latest 将图片上传到Wordpress网站没有任何问题。 任何想法可能出了什么问题?

Docker的PHP开发环境(以及如何使用composer)

我和docker玩了一段时间,我想用它来build立一个PHP开发环境。 用PHP我使用composer php。 尽pipe我关于使用docker构builddevlopmenet环境的研究,我基本上find示例代码来展示如何运行现有的PHP应用程序(但不知道如何制作开发环境),例如: https : //github.com/tutumcloud/tutum-docker -php 我真的不明白是否必须在容器内部或外部运行composer php? 你能告诉我一些例子,我有我的源代码在主机上的目录,通过泊坞窗与容器共享,以及如何使用这个设置composer php? 谢谢 :)

Docker,清漆,连接重置由同行

我只是试图build立一个使用Docker的Web服务器。 我有3个不同的容器: jprjr / PHP-FPM sudo docker run –name c_php-fpm -v $HOME/data/webstack/www:/srv/http:ro -p 9000:9000 -d jprjr/php-fpm nginx的 sudo docker run –name c_nginx -v $HOME/data/webstack/www:/usr/share/nginx/html:ro -p 8080:80 –link c_php-fpm:c_php-fpm -d nginx nginx jacksoncage /清漆 sudo docker run –name c_varnish -i -d -p 80:80 –link c_nginx:c_nginx -e VARNISH_BACKEND_PORT=80 -e VARNISH_BACKEND_IP=c_nginx jacksoncage/varnish PHP和nginx工作没有任何问题,但有一个错误的清漆: curl -I http://localhost/index.html curl: (56) […]

在容器内部的Docker Network部分工作

我有我自己的PHP应用程序运行“ FROM php:5.6-apache ”容器。 这样可行。 但有一部分没有。 我的应用程序无法使用networking。 如果我运行手册 docker run -t -i myapp ping 8.8.8.8 it 这很好。 但是,如果我的应用程序喜欢它 $ping = exec("ping -c 1 -s 64 -t 64 8.8.8.8"); 那么它不会。 一月

Docker + Nginx删除文件夹问题

我一直在试图设置这个docker的形象: https : //github.com/Muraad/joomla-docker 在实践中,它运作良好。 Docker构build映像,我可以在容器中运行它,并且可以将Joomla与另一个运行mysql的Docker容器连接起来。 Joomla由Nginx和PHP5-FPM托pipe。 当我删除安装文件夹时,问题就开始了。 容器正在运行时,删除不会导致问题,并且网站按预期运行。 一旦我重新启动Docker主机,但是,该网站提供以下错误: 发生错误。 抱歉,您正在寻找的页面目前无法使用。 请稍后再试。 如果你是这个资源的系统pipe理员,那么你应该检查错误日志的细节。 忠实于你,nginx。 只有当我从卷中删除一个文件夹时才会显示错误。 如果该文件夹仍然存在于磁盘上,即使Joomla安装文件更改后,该网站工作正常。 一旦我删除安装文件夹,但是这个错误是我看到的。 Nginx / php5-fpm或Joomla没有有用的日志。 我觉得有趣的是/ var / log / nginx / error_log中的Nginx错误日志看起来是腐败的,当我尝试用vim读取它时,它说它不是一个有效的文件。 被删除的文件夹驻留在Dockerfile的VOLUME中。 VOLUME ["/var/www/vhosts"] 我被困住了,这是一个Docker问题或一个Nginx问题。 我不能确定什么是根本原因,为什么这只会在重新启动后发生。 我做了一个testing,而不是删除安装文件夹,我删除了图像文件夹。 这有同样的结果导致的结论,它不是Joomla相关的。