It is possible to use libcurl-impersonate in PHP scripts instead of the original libcurl. PHP loads libcurl dynamically during runtime, which means that a different set of steps needs to be taken.
First, patch libcurl-impersonate and change its SONAME:
patchelf --set-soname libcurl.so.4 /path/to/libcurl-impersonate-chrome.so
Then replace at runtime with:
LD_PRELOAD=/path/to/libcurl-impersonate-chrome.so CURL_IMPERSONATE=chrome101 php -r 'print_r(curl_version());'
If successful you should see:
[ssl_version] => BoringSSL
(or NSS if the Firefox version is used)
On Mac, first rename libcurl-impersonate-chrome.dylib
to libcurl.4.dylib
and place in some directory, say /usr/local/lib
. Then run php with the DYLD_LIBRARY_PATH
env var pointing to that directory, for example:
DYLD_LIBRARY_PATH=/usr/local/lib php -r 'print_r(curl_version());'
If successful you should see:
[ssl_version] => BoringSSL