如何解决带有Apache的php 7.4中的Laravel的Dockerfile
在Cloud Run中部署的Appache服务器中为Laravel应用设置具有相关架构和权限的Dockerfile时,我遇到很多困难。
我当前在使用当前Dockerfile
时遇到500 Internal Server Error:
FROM php:7.4-apache
# intialize the machine with required apt-get packages and php extensions
RUN apt-get update && apt-get install -y libpng-dev zip unzip wget zlib1g-dev libicu-dev libzip-dev
RUN docker-php-ext-install mysqli pdo_mysql zip exif
RUN apt-get install -y \
libwebp-dev \
libjpeg62-turbo-dev \
libpng-dev libxpm-dev \
libfreetype6-dev
RUN docker-php-ext-install gd
COPY --from=composer:1.9 /usr/bin/composer /usr/bin/composer
# copy app in full
WORKDIR /var/www/
COPY . /var/www/
# install dependencies
RUN composer global require hirak/prestissimo && composer install
EXPOSE 8080
COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf
COPY .env.example /var/www/.env
RUN chmod 777 -R /var/www/storage/ && \
echo "Listen 8080" >> /etc/apache2/ports.conf && \
chown -R www-data:www-data /var/www/ && \
a2enmod rewrite
以及公用文件夹中的以下.htaccess
:
RewriteEngine On
RewriteBase /API/
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Authorization Headers
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
和000-default.conf
:
<VirtualHost *:8080>
ServerAdmin admin@email.com
DocumentRoot /var/www/public/
<Directory /var/www/>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我尝试了所有在线可用内容,但我真的不知道发生了什么事。
你们中的一个能发现任何明显的缺陷吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。