`
xieye
  • 浏览: 835513 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

用docker搭建php开发环境(2)

阅读更多
docker搭建php系列文章
用docker搭建php开发环境
用docker搭建php开发环境(2)
用docker搭建php开发环境(3)

其中坑很多。
我碰到的其中一个是数据库不能正常启动。
命令
docker logs files_mysql-db_1

查看容器日志,日志有
mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/mysql-file.cnf' is ignored.

百度得知,需要

sudo chmod 644 ./mysql/conf.d/mysql-file.cnf

上面这个问题是win10下发生的。

================================================
php使用composer

首先,通过dockerfile 来搞定composer安装的事情。
自行下载composer。phar文件。
COPY ./pkg/composer.phar /usr/local/bin/composer

RUN chmod a+x /usr/local/bin/composer        \
    && /usr/local/bin/composer config -g repo.packagist composer https://packagist.phpcomposer.com




在app文件夹下放置composer.json文件。
{
    "require": {
        "zendframework/zendframework1":"1.12.20"
    }
}


然后,在虚拟机里使用命令
/docker_study/zphal/bin/docker-compose
 run --rm -w /data/www php-fpm composer update



注意,上面都是把composer.json文件直接放在app下面,实际应放在上层目录更好,

现在,我要测试,php和mysql能正确访问,php与redis能正确连接。

首先,自己写个phpinfo的php文件简单测试一下。

如果成功的话,如上,先设置一个zend1的composer的json文件,然后自己更新。

然后,写一个test.php放在根目录下测试。

<?php
require_once  __DIR__ .'/vendor/autoload.php';
header("Content-type: text/html; charset=utf-8");

$db = Sys::getdb();
$sql="SHOW GLOBAL VARIABLES like '%server%'";
$result = $db->fetchAll($sql);
var_dump($result);
echo "<br>以上关于server的信息显示了,表示数据库连接成功<br><br>";

$redis = Sys::getredis();
$redis->set('aa',123);
echo $redis->get('aa');
echo "<br>上面一行显示123,表示redis连接正确。";
		
class Sys
{
	public static $db;
	
    /**
     * 数据库连接
     *
     * @return \Zend_Db_Adapter_Abstract
     */
    public static function getdb()
    {
		$params = array(
            'host'     => 'files_mysql-db_1',
            'username' => 'root',
            'password' => '123456',
            'dbname'   => 'zphaldb',
            'charset'  => 'UTF8',
            'port'     => '3306',
            'driver_options'=> [
                \PDO::ATTR_STRINGIFY_FETCHES => false,
                \PDO::ATTR_EMULATE_PREPARES  => false,
            ],
        );
        if (self::$db == null) {
            self::$db = \Zend_Db::factory('pdo_mysql', $params );
        }
        return self::$db;
    }
    
    /**
     * 得到redis
     * @return \Redis
     */
    public static function getredis()
    {
        static $redis = null;
        if ($redis == null) {
            $redis = new \Redis();
            $redis->connect('files_redis-db_1','6379');
            
        }
        return $redis;
    }
}





然后打开宿主机浏览器,测试http://127.0.0.1/test.php
看结果如何。



0
0
分享到:
评论

相关推荐

    用docker搭建php开发环境

    NULL 博文链接:https://xieye.iteye.com/blog/2425200

    docker 快速搭建php环境 docker包,一键启动开发环境

    docker 快速搭建php环境 docker包,一键启动开发环境,docker 快速搭建php环境 docker包,一键启动开发环境

    Docker创建php开发环境遇到的权限问题解决方案.docx

    本文主要解决的是在使用 Docker 搭建 PHP 开发环境时遇到的权限问题。具体表现为:当我们将宿主机上的代码目录挂载到 Docker 容器中时,由于宿主机与容器内的文件系统用户权限不同,导致容器内的 PHP 应用无法正常...

    docker-compose快速搭建lnmp开发环境

    快速的搭建一个php开发环境,镜像包括php,mysql,nginx,适合php的开发者

    docker搭建适合thinkphp5的lnmp+redis开发环境

    docker搭建适合thinkphp5的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 需要先安装了composer 和docker环境 在html目录下面执行composer update下载第三方开发包 之后执行docker-compose ...

    Docker的完整PHP开发环境。-PHP开发

    基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP开发环境。 首先使用Docker-然后再了解它! 基于Docker的完整PHP开发环境。 支持各种通用服务,所有这些都预先配置为提供完整PHP...

    docker-compose搭建php7.4(swoole+swoole-loader+dg)+mysql5.7环境

    本教程将详细解释如何使用docker-compose搭建一个包含PHP 7.4(集成Swoole和Swoole Loader扩展)以及MySQL 5.7的开发环境。 首先,让我们了解Docker。Docker是一种开源的应用容器引擎,它允许开发者打包他们的应用...

    Ubuntu下搭建PHP开发环境

    在Ubuntu操作系统上搭建PHP开发环境是一项常见的任务,尤其对于开发者来说,这有助于创建和测试基于PHP的Web应用程序。本文将详细介绍如何在Ubuntu上配置Apache服务器、安装MySQL数据库、添加PHP支持以及部署...

    docker搭建适合thinkphp6的lnmp+redis开发环境

    docker搭建适合thinkphp6的lnmp+redis开发环境,nginx版本为最新版本 php版本为7.3 mysql版本为5.7 redis版本为5.0,thinkphp6的代码放到html目录下面 执行docker-compose up -d ,启动容器

    docker下一键自动部署PHP环境

    docker下 搭建 PHP+mysql+redis+nginx 开发环境, 并实现一键自动化部署,保证了在各个平台上的一致性,既方便又高效。

    使用 Docker 搭建 Laravel 本地环境的教程详解

    Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,但是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,现在有了 docker 这种更好的方式,可以轻松方便的搭建整套 PHP 开发环境。...

    LAMP环境安装 linux + apache + mysql + php

    本文详细介绍了如何在Linux环境下搭建LAMP环境,包括卸载旧版本、系统环境部署及调整、安装所需开发包以及具体组件的安装过程。遵循以上步骤,您可以成功地在自己的Linux系统上搭建起一套完整的LAMP环境,从而支持...

    保姆级docker搭建php7.4(redis+swoole+swoole-loader+dg)服务

    【标题】中的“保姆级docker搭建php7.4(redis+swoole+swoole-loader+dg)服务”是指通过Docker容器技术,详细指导如何构建一个包含PHP 7.4、Redis、Swoole以及Swoole Loader和Docker Compose配置的服务器环境。...

Global site tag (gtag.js) - Google Analytics