Tag: PHP

如何将Azure WordPress + MySQL Ubuntu 16.04 docker从PHP5.6升级到PHP7?

一般来说,我是新来的Azure和docker/虚拟机。 我刚刚在S1 Azure虚拟机上安装了以下Docker镜像,并且我非常有兴趣将基础PHP5.6版本升级到7.我无法在线find很多信息,似乎第一步是我需要SSH到Docker中,然后执行一些命令。 docker图片: https : //azuremarketplace.microsoft.com/en-us/marketplace/apps/Docker.wordpressplusmysql-ARM 我的wordpress是4.7.2最新版本。 我需要什么步骤才能在Ubuntu内部执行更新命令? 谢谢!

docker-compose dev / live容器与不同的包

已经有一些同样的问题: 一个或两个 ,但形成我的理解答案只是部分涵盖了这个话题。 在我的情况下,我有4个容器: db , cache , nginx web服务器和php-fpm 。 前三个是不感兴趣的。 我们来谈谈php-fpm。 我有一个Dockerfile ,在那里我定义(通过RUN apt-get… )生产需要的软件包列表,以及生产环境的一些iniconfiguration。 接下来,我想在生产就绪的php-fpm上添加一个开发层,这就是为什么我需要另一个Dockerfile ,在那里我安装了一些东西,比如我不想在生产环境中看到的xdebug 。 但是对于第二个Dockerfile我需要一个正确的FROM ,这就是为什么我需要首先构build一个生产php-fpm容器,如: docker build -t my-php-fpm:base 到目前为止,我可以在我的第二个(dev) Dockerfile引用它,并在我的撰写中使用它。 但是,基本的映像不是docker-compose.yml的一部分,所以不要忘了每次修改它时,都要修改它,并且简单的docker-compose up -d –force-recreate已经不够了。 只有一个基本图像可能没问题,但是如果系统变得更复杂,并且会有4-5个或更多这样的基本图像,则可以容易地进入噩梦而不忘记(重新)构build所有基本图像,并且只有在这之后才能撰写。 在阅读和重新阅读文档后,我最终以这样的方式结束了:基本映像成为docker-compose.yml的一部分: my-php-fpm-base: build: context: ./php-fpm image: my-php-fpm:base container_name: my-php-fpm-base 但是,然后开发和生产环境(以及任何其他的,如阶段或testing) 必须使用撰写和定义真实的php-fpm实例的覆盖function。 docker-compose.dev.yml : my-php-fpm: build: context: ./php-fpm-dev container_name: my-php-fpm volumes: – ..:/var/www/my […]

在此服务器上找不到请求的URL,但在本地工作

我有一个Laravel安装程序,我可以添加文件并将其删除。 现在,当我尝试删除我的网站上的服务器上的图标 Not Found The requested URL /icons/24 was not found on this server. 上传文件和检索文件的作品。 当我在本地testing它的工作。 而且我用与图像,video文件和audio文件完全相同的方式来完成,而这些都在服务器上运行。 为了debugging它,我还在控制器中添加了show()函数,并且也提供了相同的问题。 到底是怎么回事? routes / web.php :(部分) Route::get('iconFile/{id}','IconController@iconFile'); Route::get('imageFile/{id}','ImageController@imageFile'); Route::get('audioFile/{id}','AudioController@audioFile'); Route::get('videoFile/{id}','VideoController@videoFile'); Route::get('signlanguageFile/{id}','SignlanguageController@signlanguageFile'); Route::group(['middleware' => ['auth']], function() { Route::post('image-upload-with-validation',['as'=>'postimage','uses'=>'ImageController@postImage']); Route::post('icon-upload-with-validation',['as'=>'posticon','uses'=>'IconController@postIcon']); Route::resource('texts', 'TextController'); Route::resource('icons', 'IconController'); Route::resource('images', 'ImageController'); Route::resource('videos', 'VideoController'); Route::resource('signlanguages', 'SignlanguageController'); Route::resource('audios', 'AudioController'); }); IconController: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use […]

WordPress的NGINXconfiguration路线回到着陆页

我已经在apache服务器上安装了Wordpress,并尝试将它移动到docker主机中的nginx服务器上。 但我挣扎一些固定链接的问题。 着陆页的作品就像一个魅力,但如果我点击som的post,我会被redirect到着陆页。 浏览器中的URL发生变化,但显示的内容相同。 WordPress的我的固定链接被设置为“Postname”,所以它看起来像这样: HTTP://###.###.##.###/wordpress/sample_post/ 这是我的conf: server { listen 80 default_server; root /var/www/; index index.html index.htm index.php server_name localhost; location ~\.php$ { try_files $uri =404; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param REQUEST_URI $uri?$args; } location /wordpress { try_files $uri /wordpress/index.php$args; } }

Docker php:5.6-apache 403(因为path的组件上缺lesssearch权限)

文件树: ├── docker-compose.yml ├── Dockerfile └── www └── index.html Dockerfile: FROM php:5.6-apache ADD ./www /var/www/html/ WORKDIR /var/www/html/ 泊坞窗,compose.yml version: '2' services: php5_6: build: . ports : – "80:80" volumes: – ./www:/var/www/html/ 尝试启动docker $ docker-compose up [core:error] [pid 17] (13)Permission denied: [client 172.19.0.1:53514] AH00035: access to /index.html denied (filesystem path '/var/www/html/index.html') because search permissions are missing […]

域名,Nginx和WordPress

我尝试在nginx docker容器上安装WordPress。 我的域名 blog.example.com 指向ip xxx.xxx.xxx.xx/wordpress/ 后端像一个像这样的域名的魅力工作: blog.example.com/wp-admin/options-permalink.php 在前端,当我想访问我的网页时,它会自动切换 blog.example.com 至 blog.example.com/wordpress 我的nginxconfiguration如下所示: server { listen 80; server_name blog.example.com; root /var/www/; index index.php; location /wordpress/{ try_files $uri $uri/ /wordpress/index.php; } location ~\.php${ try_files $uri =404; fastcgi_split_path_info ⁽.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param REQUEST_URI $args; include fastcgi_params; } }

用vnc看不到容器内部

我有一个脚本在PHP中,提出了一个docker(havnesvo / slimerjs)的形象,它传递一个.js,因为Slimer需要一个JS启动。 当我暴露容器,并尝试用vnc看到里面发送一个错误:主机拒绝连接。 我的脚本如下所示: 庆典 SCRIPT="script.js" docker run -p 8080:8080 –rm -ti -v `pwd`:/scripts havnesvo/slimerjs bash -c "sed -i 's/640x480x8/1600x1400x8/' /usr/bin/xvfb-run && /usr/bin/slimerjs /scripts/$SCRIPT" 任何build议?

无法从apache访问php-fpm容器

我在我的Ubuntu机器上安装了最新的Nextcloud容器。 它使用以下命令成功启动: sudo docker run –name nextcloud –link mysql:mysql -p 9000:9000 -v /data/nextcloud:/var/www/html -d nextcloud:latest 命令sudo docker logs nextcloud显示: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using […]

访问该容器内的docker容器自己的localhost – php apache

我正在尝试从Docker容器内部访问http://localhost/或http://127.0.0.1 。 当我在运行的容器中时,我可以ping localhost : $ sudo docker exec -i -t 045ff7f4755b /bin/bash $ ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.108 ms 但是,当我尝试时出现错误 $ curl 127.0.0.1/api.php curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused 这是我的dockerfile: FROM php:7.1.0-apache RUN pecl install xdebug-2.5.0 \ && docker-php-ext-enable […]

如何在OSX中将容器挂载到Docker容器?

我的最终目标是在本地计算机上运行不同版本的PHP进行testing。 我相信Docker是完成这个任务的最好方法。 我已经能够通过本教程获得Apache和PHP运行的容器: https : //github.com/tutumcloud/apache-php 但问题是我无法装入卷,以便我可以编辑本地文件并在泊坞窗容器上查看它们。 这里是我在docker文件相同的目录中运行terminal的步骤: docker build -t tutum/apache-php . docker run -d -p 8080:80 tutum/apache-php -v /Users/user-name-here/apache-php/sample:/app/ 我得到的错误是: docker:来自守护进程的错误响应:oci运行时错误:container_linux.go:247:启动容器进程导致“exec:\” – v:无法在$ PATH中find可执行文件。 我在OSX上 – El Captain,刚安装了最新版本的Docker和Docker工具。