Nginx not consistently rewriting URLs to include .php extension

I’m encountering an issue with Nginx where it is not consistently rewriting URLs to include the .php extension, even though I’ve set up the rewrite rules correctly. Specifically, I want to be able to access a page called resume.php by simply providing /resume in the URL (without the .php extension), but Nginx is not reliably doing this.

The current configuration works for some files but not all. Oddly, when I copy a non-working file to a new name (e.g., resume.php to resume2.php), it starts working as expected. I’ve tried multiple configurations, but I’m still not seeing consistent results.

Here’s the configuration I’m using:

server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name icyrelic.com;
root /srv/IcyRelic;
index index.php;

rewrite_log on;

# Rewrite rule to append .php if no extension is provided
rewrite ^/(.*)/?$ /$1.php last;
rewrite ^/$ /index.php last;

# Handling root directory
location / {
    try_files $uri $uri/ /index.php =404;
}

# PHP processing
location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_split_path_info ^(.+.php)(/.+)$;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;

    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }

    include fastcgi_params;
}

# Deny access to hidden files
location ~ /.ht {
    deny all;
}

}

Observations:

Some files work correctly when accessed without the .php extension, but others don’t.
When I copy a non-working file (e.g., resume.php to resume2.php), the new file works as expected without needing the .php extension in the URL.
I’ve verified the PHP-FPM service is running and the configuration is being reloaded.
What could be causing this inconsistency, and how can I ensure all PHP files are properly handled without needing the .php extension in the URL? I would also like for the files to load with the .php extension and as it stands currently none do.

When the URL is accessed without the .php extension (e.g., https://icyrelic.com/resume), instead of properly processing the request and serving the PHP page, Nginx attempts to download the file.

The contact page seems to work https://icyrelic.com/contact

SQLSTATE[HY000] [2002] Connection refused web | web | web | In PDOConnection.php line 27: web | web | SQLSTATE[HY000] [2002] Connection refused

I am trying to build a laravel application using docker compose and I keep getting this error. I have tried to change the DB_HOST variable in env file from local host to 127.0.0.1 vice versa but it still doesn’t work. I have also tried php artisan config:clear and php:artisan cache:clear multiple times. I have also checked that the server is running but for some reason, it keeps showing connection refused.

docker-compose.yml

services:
  web:
    image: app-name:latest
    build:
      target: web
      context: .
    env_file:
      - .env
    ports:
      - "8000:80"
    volumes:
      - .:/var/www/html
    depends_on:
      - db
  
  db:
    platform: "linux/amd64"
    image: mysql:5.7
    env_file:
      - .env
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
      MYSQL_USER: laravel
      MYSQL_PASSWORD: secret
    ports:
      - "3307:3306"
    volumes:
      - dbdata:/var/lib/mysql

volumes:
  dbdata:

.env

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:XQqm38kup8DjQipdfv18IZavsGd0Rvv0fSvkpe+x0HM=
APP_DEBUG=true
APP_URL=http://localhost:8000

APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US

APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database

PHP_CLI_SERVER_WORKERS=4

BCRYPT_ROUNDS=12

LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_PORT=3307
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret
DB_HOST=db

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null

BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database
# CACHE_PREFIX=

MEMCACHED_HOST=127.0.0.1

REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=log
MAIL_SCHEME=null
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

VITE_APP_NAME="${APP_NAME}"

Dockerfile

# Use PHP with Apache as the base image
FROM php:8.2-apache as web

# Install Additional System Dependencies
RUN apt-get update && apt-get install -y 
    libzip-dev 
    zip

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

# Enable Apache mod_rewrite for URL rewriting
RUN a2enmod rewrite

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql zip

# Configure Apache DocumentRoot to point to Laravel's public directory
# and update Apache configuration files
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# Copy the application code
COPY . /var/www/html

# Set the working directory
WORKDIR /var/www/html

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install project dependencies
RUN composer install

# Set permissions
RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache

IIS Authentication Windows seems not working [duplicate]

First thing first, I need to get the DOMAIN login of my laptop. Once I login to the windows laptop, I can already catch the DOMAINusername.

I can access my project url thru my browser but when I use different laptop different domain to check if other domain can access too, they were asked to input Windows user name and password which is not supposed to happen.

My project is located in different server 192.168.1.122, I changed the url to http://employee.proj:8070/, to access this url from my laptop,

I setup the Internet Options > Security > Local Intranet > Sites > Advanced and I added:

http://employee.proj:8070/

192.168.1.122

Then I added it on my hosts. Windows > System32 > drivers > etc > hosts

For the IIS settings

Authentication > Windows Authentication – enabled; Anonymous Authentication – disabled;

Authentication > Windows Authentication > Providers – NTLM, Negotiate

Authentication > Windows Authentication > Advanced Setting – Protection OFF, Kernel ENABLED;

While my laravel web.config is

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <windowsAuthentication enabled="true" />
            </authentication>
            <requestFiltering>
                <requestLimits maxQueryString="5000" />
                <verbs applyToWebDAV="false">
                    <add verb="TRACE" allowed="false" />
                    <!-- <add verb="OPTIONS" allowed="false" /> -->
                </verbs>
            </requestFiltering>
        </security>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Headers" value="Origin, Content-Type, Authorization,X-Requested-With" />
                <add name="Access-Control-Allow-Methods" value="GET" />
                <add name="X-Download-Options" value="noopen" />
                <add name="X-Frame-Options" value="DENY" />
                <!-- if you need to allow same origin, comment above line and uncomment below line -->
                <!-- <add name="X-Frame-Options" value="SAMEORIGIN" /> -->
                <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
                <add name="X-XSS-Protection" value="1; mode=block" />
                <add name="X-Content-Type-Options" value="nosniff" />
                <add name="Referrer-Policy" value="origin-when-cross-origin" />
                <remove name="X-Powered-By" />
            </customHeaders>
        </httpProtocol>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <!-- <add input="{HTTP_AUTHORIZATION}" ignoreCase="false" /> -->
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{URL}" pattern="(.+)/$" ignoreCase="false" />
                    </conditions>
                    <action type="Redirect" url="{C:1}" redirectType="Permanent" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="^" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
        <defaultDocument>
            <files>
                <clear />
                <add value="index.php" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="iisstart.htm" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

Is there any setup that I missed? I am very curious why other domain can’t access my url without asking username password.

cPanel Memory Limit Reached & WordPress Database Error “Commands out of sync

Here’s how you can update your Stack Overflow question with the information about the PHP INI Editor options:


Title: cPanel Memory Limit Reached & WordPress Database Error “Commands out of sync”

Question:

When I go to the PHP INI Editor in cPanel, I see two options for configuration:

  1. One for my domain (e.g., domain.com)
  2. One for the directory (Root)

I have only configured the settings for public_html (my domain) and not for the root directory. Should I apply the same settings to the root directory as well?

I am facing an issue where my memory limit usage exceeds in cPanel despite configuring my PHP settings in php.ini, .user.ini, and .htaccess files in public_html. My current configuration is:

display_errors = Off
max_execution_time = 900
max_input_time = 900
max_input_vars = 1000
memory_limit = 512M
post_max_size = 512M
session.gc_maxlifetime = 1440
session.save_path = "/var/cpanel/php/sessions/ea-php81"
upload_max_filesize = 512M
zlib.output_compression = Off
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT

I have also added memory limits in wp-config.php:

// ** Performance Optimizations ** //
define('WP_MEMORY_LIMIT', '512M'); // Increase memory limit
define('WP_MAX_MEMORY_LIMIT', '512M');

I am using a LiteSpeed server with SSD NVMe and the LiteSpeed Cache plugin, but I keep hitting my I/O memory limit.

Server Statistics:

  • I/O Usage: 1.15 MB/s / 4 MB/s (28.76%)
  • CPU Usage: 24 / 100 (24%)
  • Physical Memory Usage: 209.55 MB / 4 GB (5.12%)
  • Disk Usage: 6.24 GB / 150 GB (4.16%)
  • Entry Processes: 1 / 60 (1.67%)

Error Log from WordPress:

In addition to memory usage issues, I am getting the following database error in my WordPress logs:

[04-Mar-2025 06:02:47 UTC] WordPress database error Commands out of sync; you can't run this command now for query 
SELECT option_value FROM wp_options WHERE option_name = 'wc_pending_batch_processes' LIMIT 1 
made by shutdown_action_hook, do_action('shutdown'), WP_Hook->do_action, WP_Hook->apply_filters, 
AutomatticWooCommerceInternalBatchProcessingBatchProcessingController->AutomatticWooCommerceInternalBatchProcessing{closure}, 
AutomatticWooCommerceInternalBatchProcessingBatchProcessingController->remove_or_retry_failed_processors, 
AutomatticWooCommerceInternalBatchProcessingBatchProcessingController->get_enqueued_processors, get_option

Questions:

  1. Should I configure the PHP INI settings for both public_html and the root directory?
  2. Is my PHP and WordPress configuration incorrect?
  3. Could this error be related to my I/O limit being exceeded?
  4. What could be causing the “Commands out of sync” database error, and how do I fix it?
  5. Could WooCommerce batch processing or a caching issue be the reason for the high resource usage?
  6. How can I debug and optimize my server and WordPress settings to prevent this from happening?

Phalcon 4.2 to 5.4 Migration – HTML Escaping Issue in Form Labels

At my company, we’re migrating Phalcon from version 4.2 to 5.4 while using PHP 7.4. We’re facing an issue with form initialization, specifically with the HTML inside labels being escaped.

We define our forms using Phalcon’s form component like this:

class CustomForm extends FormBase
{
    // ...
    $customfield = new Numeric('customfield');
    $customfield->setLabel(ucwords($translations['keyi18n']) . ' <span title="Lorem" class="gv-tip">&nbsp;<i class="fas fa-info-circle"></i></span>');
    $this->add($customfield);
    // ...
}

In our Volt template, we display the form as follows:

{{ form.label('customfield', ['class':'customclass']) }}
{{ form.render('customfield', ['class':'customclass']) }}

However, the label is rendered with escaped HTML, meaning the <span> and <i> tags appear as plain text :

<label for="customfield" class="customclass">keyi18n &lt;span title="Lorem" class="gv-tip"&gt;&amp;nbsp;&lt;i class=" fas fa-info-circle"&gt;&lt;/i&gt;&lt;/span&gt;</label>

Things We’ve Tried:

  • Enabling/disabling Volt’s autoescape mode
  • Using Tag::setAutoescape(false); in the Volt view

Has anyone encountered this issue before? Any suggestions on how to properly display the label with unescaped HTML?

Thanks in advance!

How i can find files location of my apache server on mac? [closed]

I’m new to programming, recently i have manage starting XAMPP on my machine, which works fine, but when i wanted to start apache server, provided by XAMPP, it’s got instantly stopped, i found an source of an issue, another server was runned (before installing XAMPP i had a try to setup a server in other custom ways). Happens even when i reboot machine, so if anyone got an answer for that i would be glad to check.

Using MacOs Sequoia 15.3

Only way to avoid is to run command
$ sudo apachectl stop

How do I use a API key server-side? [closed]

I’m trying to create a web app for my Discord server that uses a bot’s API to do stuff.

This API can only be accessed through a JS API wrapper (https://github.com/UnbelievaBoat/unb-api). However, obviously storing my key in JS means anyone can steal it and use it, which would be bad.

Based on other Stack Overflow posts, it seems as if the recommended solution is to pass the request through to PHP as it runs server-side and therefore can’t be accessed. However, I can’t do this as I can only use JS to access the API – so what do I do?

Is there any way to call a JS function server-side that cannot be seen client-side so people can’t access my key? Or is there another solution?

Laravel: Why is ‘withoutOverlapping’ not working? [duplicate]

I am using Laravel version 11.37 and PHP version 8.2. In the console.php file, I have the following code:

$schedule = app(Schedule::class); $schedule->command('queue:work --daemon')->everyMinute()->withoutOverlapping();

However, when I run the command php artisan schedule:run, I get the following message: “No scheduled commands are ready to run.”

I have already run php artisan cache:clear to clear the cache, and there is no php artisan queue:work process running.

Why can I use a scriptname as a valid path

I’ve a url like this:
https://mydomain/script.php/anotherscript.php

If both scripts exists in my root dir (mydomain) there’s no error an the script “anotherscript.php” was shown. Because of relative pathnames the side is not shown correctly.
How can I impede this call? It’s difficult to describe this case, so I didn’t find anything helpful.
Thank you in advance.

Add a new class to the parent using jQuery inside Magento

I need to add a class named “active” to my parent class “item” using jQuery.

It seems simple but my following code is not adding the new class to the parent.

Note: I am doing this inside form.phtml file inside Magento2.

The code here prints the alert but not adding the class.

   jQuery('.item-info').click(function(e){
      $(this).parent().addClass('active');
        // alert('test');
  });

This is my html:

<tbody class="cart item">
<tr class="item-info">

Expected html:

<tbody class="cart item active">
<tr class="item-info">

Various issues with HTML tables (and padding and page-breaks) in concise proof-of-concept [closed]

Problems with proof-of-concept test-case:

A. First output:

  1. Why is there green visible? I.e. why does the inner table get a left indent outside its parent cell? How can this be prevented? Can someone provide a proof of concept with this addressed?
  2. Why is there red visible? I.e. why is there spacing around the inner table cells while they have the exact same width as their parent cell? Can someone provide a proof of concept with this addressed?

B. Second output, where a page-break is within play:

  1. Where to start.. The page-break has some disastrous consequences. I have started working in HTML because it was claimed the page-break issue for variable content cells that should not be broken was solved and fixed, but I think this proof of concept example speaks for itself. I have added nobr where I needed it, and the first output proves it is feasable to stick together. How can this be fixed?
    1. Also note how the left column with “row-label” gets misaligned on a new “row”

    2. Also note how the order of images changes: the ones that were supposed to fit on the 1st page, get put after the page-break after the last image. Same goes for the cell to its left (from question B2).

Note that for my case, it is not feasable (by memory) to render in a clone first to calculate height, as we need to render 250-300mb PDFs containing hundreds of pages.

I have also verified that the units in mm are fully supported; changing it to px yields the same issues.

I have also considered using tc-lib-pdf as TCPDF is not maintained any more, but it is still only 60% complete.

Proof of concept test case code:

$pdf = new TCPDF();
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$outputTestCase = function (TCPDF $pdf, int $y) {
    $pdf->AddPage();
    $pdf->setY($y);
    $pdf->writeHTMLCell($pdf->getPageWidth(), 0, null, null, '
<table nobr="true" style="background-color:yellow;">
  <tr style="color:#f4f4f4;background-color:#0041aa;">
    <td style="width:68mm;line-height:13px;"></td>
    <td style="width:102mm;line-height:13px;">Header 1</td>
  </tr>
  <tr>
    <td style="width:68mm;line-height:13px;">&nbsp;</td>
    <td style="width:102mm;line-height:13px;">Header 2</td>
  </tr>
  <tr nobr="true">
    <td style="width:68mm;line-height:13px;font-size:11px;font-weight:bold;">Row-label</td>
    <td style="width:102mm;line-height:13px;vertical-align:baseline;background-color:green;">
      <table style="background-color:red;">
        <tr><td style="width:102mm;"><img width="102mm" height="76mm" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAIAAABuYg/PAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA1SURBVFhH7c0xDQAgEAAx3LxMpIOJhoFc0r3r7HmmjCgjyogyoowoI8qIMqKMKCPKiF+zPReVflPJ9AfYpgAAAABJRU5ErkJggg=="/></td></tr>
        <tr><td style="width:102mm;"><img width="102mm" height="67mm" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAABGSURBVFhH7c6hAYAwEMDAhwHYfyWmKqaa2Io7E5trvc+ag9y7xzBUDBVDxVAxVAwVQ8VQMVQMFUPFUDFUDBVDxVAx9G/mA651Ax2hOeJbAAAAAElFTkSuQmCC"/></td></tr>
        <tr><td style="width:102mm;"><img width="102mm" height="68mm" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAIAAABuYg/PAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA1SURBVFhH7c0xDQAgEAAx3LxMpIOJhoFc0r3r7HmmjCgjyogyoowoI8qIMqKMKCPKiF+zPReVflPJ9AfYpgAAAABJRU5ErkJggg=="/></td></tr>
      </table>
    </td>
  </tr>
</table>');
};
$outputTestCase($pdf, 10);
$outputTestCase($pdf, 70);
$pdf->Output();
exit;

Unable to install gd extension on redhat 9 php remi php8.2

I have installed PHP Remi on Red Hat 9 . when I am trying to install PHP gd extension for PHP remi 8.3 then getting package php-gd-8.3.17-1.el9.remi.x86_64 from remi-modular requires libgd.so.103()(64bit) error; Same error happen for also remi PHP 8.2.

Here the error log:

[xxx@xxx yum.repos.d]$ sudo yum --enablerepo=remi install php-gd
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 1:24:25 ago on Mon 03 Mar 2025 05:57:44 AM CET.
Error:
 Problem: package php-gd-8.3.17-1.el9.remi.x86_64 from remi-modular requires libgd.so.103()(64bit), but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides libraqm.so.0()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi
  - nothing provides libavif.so.14()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi
  - nothing provides libraqm.so.0()(64bit) needed by gd3php-2.3.3-9.el9.remi.x86_64 from remi
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-9.el9.remi.x86_64 from remi
  - nothing provides libraqm.so.0()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi-safe
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi-safe
  - nothing provides libavif.so.14()(64bit) needed by gd3php-2.3.3-8.el9.remi.x86_64 from remi-safe
  - nothing provides libraqm.so.0()(64bit) needed by gd3php-2.3.3-9.el9.remi.x86_64 from remi-safe
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-9.el9.remi.x86_64 from remi-safe
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Please note i have multiple version install on this redhat but only one version is active at time

[xxx@xxxx yum.repos.d]$  sudo dnf module list php
[sudo] password for abera:
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 1:46:52 ago on Mon 03 Mar 2025 05:50:52 AM CET.
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name                               Stream                                     Profiles                                                    Summary
php                                remi-7.4                                   common [d], devel, minimal                                  PHP scripting language
php                                remi-8.0                                   common [d], devel, minimal                                  PHP scripting language
php                                remi-8.1                                   common [d], devel, minimal                                  PHP scripting language
php                                remi-8.2                                   common [d], devel, minimal                                  PHP scripting language
php                                remi-8.3 [e]                               common [d] [i], devel, minimal                              PHP scripting language
php                                remi-8.4                                   common [d], devel, minimal                                  PHP scripting language

ml-rhel9-dev-RHEL 9 x86_64 Appstream
Name                               Stream                                     Profiles                                                    Summary
php                                8.1                                        common [d], devel, minimal                                  PHP scripting language
php                                8.2                                        common [d], devel, minimal                                  PHP scripting language

also, install trying to install some lib using gd error log

Like:

sudo dnf search libraqm
sudo dnf search libimagequant
sudo dnf search libavif

but same error happen . Can anyone help me to fix the error on PHP remi 8.2 gd extension

Problem with Opennssl extension for create symfony project

when I try to create a symfony project, this is what I get. However, a few days ago, when I did symfony -v, everything was OK.

this is what I get as an error :

You must enable the openssl extension in your php.ini to load information from https://repo.packagist.org

I’ve removed the ; in front of extension=php_openssl.

Do this command (without success) compose config -g -- disable-tls true

this one too: php -i | Select-String “openssl

and the result :

OpenSSL support => disabled (install ext/openssl)

How do I get a user’s preferred language in the pre-rendered view in laravel’s maintenance mode

I have a web app that is frequently updated, so we use php arisan down with the --render option to display a helpful blade php view to let users know that we will be back soon.

The page is displayed in English, but a significant portion of my users are Francophone. I am unable to get the right locale app()->getLocale() or relevant session session()->get('Accept-Language') or request request()->getPreferredLanguage() data on the rendered maintenance page. The Accept-Language key isn’t even present in the $_SERVER variable. I suspect that is because that a significant portion of the app isn’t booted up in maintenance mode.

How do I get or set the right locale information for the rendered maintenance page so that French users can see it translated?