Mike Cho Development

Get 32 Bit PHP in One XAMPP Installation

If you need this, you know who you are.

Download and extract php to a new folder in xampp

For me, this is C:/xampp/php_8_32bit

php : VS16 x86 Non Thread Safe (2021-Jul-29 14:39:38)

https://windows.php.net/download/

Configure php.ini

Uncomment extension_dir (remove the 😉 and modify it to point to the extension directory. This resides in the directory where you extracted the php/ext.

for me, it looks like this:
extension_dir = “\xampp\php_8_32bit\ext”

You will need to uncomment some extensions for wordpress to work. Here are the ones I used:

extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd
extension=gettext
extension=gmp
;extension=intl
;extension=imap
;extension=ldap
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=oci8_19 ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

Configure apache

First, make a folder where you want the 32 bit php to be served, then add the following in httpd-xampp.conf:

ScriptAlias /php832 "C:/xampp/php_8_32bit" 
;this is the folder in which you extracted php
Action application/x-httpd-php832-cgi /php832/php-cgi.exe
<Directory "C:/xampp/php_8_32bit">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/htdocs/my_php_8_32bit_folder">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php832-cgi
;change this to reflect the ScriptAlias: since I had /php832, this line will have php832-cgi
    </FilesMatch>
</Directory>

Result

Note: x86 are 32bit