Tag: PHP

错误1错误:安装sqlsrv时“make”失败

我试图通过使用这个页面的命令来安装sqlsrv。 但是,运行时 pecl install sqlsrv-4.2.0preview 我得到错误: Error 1 ERROR: 'make' failed 。 我试过了 : apt-get update apt-get install build-essential apt-get install libpcre3-dev apt-get install make 所有这些都安装在最新版本。 我使用php:7.0-apache映像运行一个容器。 运行apachectl -V返回Apache/2.4.10 (Debian) 。 以下是我运行的命令的完整日志输出: https : //pastebin.com/MYDY3xwU

Docker撰写WordPress的例子

我一直在遵循快速入门指南:撰写和Wordpress,并不能得到它的工作。 我认为这与我的目录结构有关。 运行所有的步骤后,我有一个名为wordpress的子目录,但我认为我所有的代码引用了一个名为code的子目录,所以我决定重命名我的wordpress目录code 。 然后我重新运行docker-compose up但这也不幸没有工作。 更新:当我input加载PHP服务器返回的网站时, “无法正常工作” : Not Found The requested resource / was not found on this server

如何处理来自docker的卷内的权限?

我有一个运行PHP应用程序的容器, php-fpm服务无法将caching文件写入泊坞窗提供的文件夹中。 我从主机上给我需要写的文件夹777权限,但是它只工作了一段时间。 由php-fpm创build的文件没有必要的权限。 此外,用chown命令更改所有者和组是不可能的。 这是我的docker-composer.yml文件: web: image: eduardoleal/nginx external_links: – proxy links: – php:php container_name: "app-web" environment: VIRTUAL_HOST: web.app volumes_from: – data volumes: – ./src/nginx-vhost.conf:/etc/nginx/sites-enabled/default php: image: eduardoleal/php56 container_name: "app-web-php" volumes_from: – data data: container_name: "app-web-data" image: phusion/baseimage volumes: – /Users/eduardo.leal/Code/vidaclass/web:/var/www/public 我使用VirtualBox在OSX上运行docker。

图中显然没有使用mysql服务的volume_from

我试图设置一个非常简单的设置使用数据容器作为库使用Fig.sh和Docker的MySQL数据库。 下面的代码是不言自明的: web: build: . command: php -S 0.0.0.0:8000 -t /code ports: – "8000:8000" links: – db volumes: – .:/code dbdata: image: busybox command: /bin/sh volumes: – /var/lib/mysql db: image: mysql volumes_from: – dbdata environment: MYSQL_DATABASE: database MYSQL_ROOT_PASSWORD: rootpasswd 出于某种原因,如果我运行一个命令fig run –rm dbdata /bin/sh然后我cd到目录/ var / lib / mysql。 该文件夹是空的。 如果我运行fig run –rm db /bin/sh和CD到/ […]

外部服务器mysql_connect没有路由到主机

我在这里find的官方PHP Docker容器中运行PHP: https : //github.com/docker-library/php 我试图让我的应用程序使用旧的mysql_connect函数连接到外部MySQL服务器,因为这是我们的应用程序使用。 当尝试一个非常简单的脚本会产生错误: Warning: mysql_connect(): No route to host 。 我已经validation了使用标准的MySQL CLI,我可以连接到docker集装箱内的目标服务器,所以知道我的集装箱可以与外界通话没有问题。 类似的东西,如file_get_contents()工作没有问题,表明没有DNS问题。 主机和容器都将其DNS设置为8.8.8.8,并使用–net host标志启动容器。 这里供参考的是我试过的脚本: <?php mysql_connect("my-external-rds.amazonaws.com", "user", "password") or die("Unable to connect to MySQL"); echo "Connected to MySQL<br>"; 任何想法如何解决这个问题? 我可以提供任何必要的信息。

为什么APCu在Docker容器内部进行了区分?

我试图在Docker容器内运行带有APCu的PHP 5.5(FPM)。 我在OSX上使用boot2docker 。 当我尝试运行php-fpm -i ,它会发生段错误。 在gdb运行,我得到以下回溯: (gdb) run -i Starting program: /usr/local/sbin/php-fpm -i [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00007ffff542474c in __pthread_rwlock_init (rwlock=rwlock@entry=0xffffffffffffffff, attr=attr@entry=0x7ffff1bda988 <apc_lock_attr>) at pthread_rwlock_init.c:40 40 pthread_rwlock_init.c: No such file or directory. (gdb) bt #0 0x00007ffff542474c in __pthread_rwlock_init (rwlock=rwlock@entry=0xffffffffffffffff, attr=attr@entry=0x7ffff1bda988 <apc_lock_attr>) […]

Docker Mysql链接到另一个容器

我用Apache创build了一个Docker容器。 一切正常,除了我不能链接MySQL( https://hub.docker.com/_/mysql/ )到我的容器,我不知道我做错了什么。 这是我做的步骤: 我运行mysql服务器容器 docker run –name mysqlserver -e MYSQL_ROOT_PASSWORD=pass123 -d mysql/mysql-server:latest 然后,我运行并链接我的Apache Docker: docker run -it –link mysqlserver:mysql -v "$(pwd)":/var/www/html -p 80:80 -p 3306:3306 apachebash 但我不能访问MySQL。

Docker:不同端口上的多个PHP7-FPM容器

我在本地开发环境中玩Docker。 我现在的设置是5个容器(1个HaProxy + 2个NGINX + 2个PHP7-FPM)。 代理容器用于根据url来引导请求,所以如果我inputhttp://project1.dev ,它将把请求代理到使用project1-php评估php的project1-nginx 。 该设置类似于http://project2.dev 。 现在,我正试图围绕两个php容器的端口进行封装。 默认的fpm端口是9000,所以这两个php容器都不能运行。 我假设去这里的方式是让这两个容器输出端口9000,但使他们9000和9001在主机上? 在撰写文件中沿着这些行的东西。 project_1_php: ports: – "9000:9000" project_2_php: ports: – "9001:9000" 所以,一切正常启动,项目1正在工作,但项目2给了我一个502. Nginx错误日志说 2016/01/26 14:37:05 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.9, server: code.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://172.17.0.4:9001"

拒绝连接:Docker中的PHPUnitselenium

我将这两个容器连接起来(docker-compose.yml): test: container_name: test image: test ports: – "7761:80" links: – webdriver webdriver: container_name: webdriver image: webdriver “testing”包含一个正在运行的symfony网站。 'Webdriver'是一个定制的Ubuntu镜像,Selenium服务器在端口4444上使用ChromeDriver运行。 我在testing容器内的这个文件上运行PHPunit: class SeleniumTest extends PHPUnit_Extensions_Selenium2TestCase { public function setUp() { $this->setHost('webdriver'); $this->setPort(4444); $this->setBrowserUrl('http://localhost:7761'); $this->setBrowser('chrome'); } protected function login() { $this->url('/'); $content = $this->byTag('body')->text(); print $content; #…do tests… } } composer php: "phpunit/phpunit": "~4", "phpunit/phpunit-selenium": "~1" 无论BrowserUrl的价值是什么,我都无法获得连接。 […]

Docker和php-cli

我已经安装了PHP 7 (php-fpm和php-cli),并且我的应用程序对于新的PHP工作正常,但是testing( phpunit )不会因为某些扩展未更新。 所以我想使用/创build一个docker容器与PHP 5.6 ,将取代我的系统(主机)的PHP CLI 。 例如,如果我从Dockerfile构build名为php56容器,如下所示: FROM ubuntu:15.10 RUN apt-get -y update && apt-get install -y php5-cli ENTRYPOINT ["php"] 并运行: sudo docker run -it php56 -v 我从Docker容器获取版本信息,所以docker的php-cli 5.6正在工作。 所以我不想把docker run命令 /usr/bin/php 让主机使用docker容器中的php-cli 。 (然后php -v会给我PHP 5.6信息不PHP 7.0版本信息) 这不是最好的例子,但我希望你们能明白我想要做什么。 如果不能这样解决,请推荐我其他解决scheme。