Wes*_*ley 1 docker docker-compose
我有一个docker设置与localhost的一些网站.我使用Smarty作为我的模板引擎,它需要一个可写的templates_c文件夹.知道如何让这个文件夹可写吗?
错误如下:
PHP Fatal error: Smarty error: unable to write to $compile_dir
'/var/www/html/sitename.local/httpdocs/templates_c'.
Be sure $compile_dir is writable by the web server user. in
/var/www/html/sitename.local/httpdocs/libs/Smarty.class.php on
line 1093
Run Code Online (Sandbox Code Playgroud)
我知道这可以用linux手动设置,但我正在寻找一个自动全局解决方案,因为我有很多网站有这个问题
另外值得一提的是我使用的是一个非常干净的docker-compose.yml
php56:
build: .
dockerfile: /etc/docker/dockerfile_php_56
volumes:
- ./sites:/var/www/html
- ./etc/php:/usr/local/etc/php
- ./etc/apache2/apache2.conf:/etc/apache2/conf-enabled/apache2.conf
- ./etc/apache2/hosts.conf:/etc/apache2/sites-enabled/hosts.conf
ports:
- "80:80"
- "8080:8080"
links:
- mysql
mysql:
image: mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=MY_PASSWORD
- MYSQL_DATABASE=YOUR_DATABASE_NAME
volumes:
- ./etc/mysql:/docker-entrypoint-initdb.d
Run Code Online (Sandbox Code Playgroud)
使用一个小的dockerfile进行基础知识:
FROM php:5.6-apache
RUN /usr/local/bin/docker-php-ext-install mysqli mysql
RUN docker-php-ext-configure mysql --with-libdir=lib/x86_64-linux-gnu/ \
&& docker-php-ext-install mysql
RUN a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
https://github.com/wesleyd85/docker-php7-httpd-apache2-mysql(但随后使用php 5.6)
我在这里用解决方案解决了同样的问题:在Ubuntu上运行docker:挂载的主机卷不能从容器写入
只需要添加:
RUN chmod a+rwx -R project-dir/smarty.cache.dir
Run Code Online (Sandbox Code Playgroud)
到Dockerfile
| 归档时间: |
|
| 查看次数: |
10450 次 |
| 最近记录: |