如何使用Railway Nixpacks修改php.ini?

rjzwgtxy  于 2023-06-04  发布在  PHP
关注(0)|答案(1)|浏览(135)

我需要增加php.ini中的upload_max_filesize指令,以允许2MB上的图像上传到我的Laravel站点,该站点使用Nixpacks部署在Railway中。
我已经尝试在路由中包含一些init_set('upload_max_filesize', '100M'),包括在nginx.conf中包含此指令,并在Railway中添加环境变量PHP_INI_UPLOAD_MAX_FILESIZE。这些解决方案都没有奏效。
如何在Railway中使用Nixpacks时修改php.ini

ldioqlga

ldioqlga1#

虽然我找不到任何使用Nixpacks的解决方案,但我最终在项目的根文件夹中添加了一个Dockerfile,以使用docker进行部署。如果Railways在根文件夹中检测到Dockerfile,它会自动使用它执行部署。
下面是我使用的Dockerfile,它在Laravel应用程序中运行良好:

FROM php:8.1-apache

# Arguments defined in docker-compose.yml
ARG user
ARG uid

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Set up node and npm

RUN curl -sL https://deb.nodesource.com/setup_18.x | bash
RUN apt-get update && apt-get -y install nodejs 

# Set working directory
WORKDIR /var/www

RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd

WORKDIR /var/www/html
COPY . .

#Modify php.ini setings

RUN touch /usr/local/etc/php/conf.d/uploads.ini \
    && echo "upload_max_filesize = 10M;" >> /usr/local/etc/php/conf.d/uploads.ini

#Serve the application

RUN composer install
RUN npm install
CMD php artisan migrate --force && php artisan storage:link && php artisan serve --host=0.0.0.0 --port=$PORT

相关问题