In a fresh Valet installation I’ve updated within my php.ini:
openssl.cafile = "/usr/local/etc/openssl@1.1/cert.pem"
Then, within my Laravel public/index.php
I’m outputting my phpinfo();
on line 1.
If I then perform a request via Postman I can see:
JavaScript
x
<tr class="h">
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>
<tr>
<td class="e">openssl.cafile</td>
<td class="v"><i>no value</i></td>
<td class="v"><i>no value</i></td>
</tr>
However the expected result I can see via tinker is:
JavaScript
Directive => Local Value => Master Value
openssl.cafile => /usr/local/etc/openssl@1.1/cert.pem => /usr/local/etc/openssl@1.1/cert.pem
As far as I understand both requests should load the same file, yet that doesn’t happen.
In both cases loaded php.ini is the same:
JavaScript
<tr>
<td class="e">Loaded Configuration File </td>
<td class="v">/usr/local/etc/php/7.4/php.ini </td>
</tr>
JavaScript
Loaded Configuration File => /usr/local/etc/php/7.4/php.ini
I’ve already tried copying the pem to a different folder, but either way it’s not loaded for web requests. What can I do?
Advertisement
Answer
Still don’t know what the reason for this is, but as a workaround I’ve:
- copied
/usr/local/etc/openssl@1.1/cert.pem
to/usr/local/etc/php/7.4/cacert.pem
- set
curl.cainfo = "/usr/local/etc/php/7.4/cacert.pem"
within my php.ini file
This way at least given file is always included