PHP8 and function list() = each()

Time to write something about PHP again. With PHP 7.2, the function each() is deprecated. The documentation says: “Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.“.
If you ignored this warning before, in PHP8 you will now get the following error: Fatal error: Uncaught Error: Call to undefined function each() in /path/file.php:line
So, what do you do when you find this in your old code or in some library that you use, but is not being updated anymore? Stackoverflow to the rescue…

Continue reading PHP8 and function list() = each()

Icepay cURL 60 SSL problem

To be precise, the error is: “Unable to reach the ICEPAY payment server (60):SSL certificate problem: unable to get local issuer certificate

The solution could be:

curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 0);

or, which also works in my case:

curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);

Of course bypassing SSL security is never the correct option, but for a development server we all make exceptions sometimes.
Have a nice day!

PHP variables and strings

Sometimes you have to be reminded of the basics:

“How to use a dollar-sign $ in a string?”
In single quotes a dollar sign isn’t parsed as anything. Nothing is auto parsed in single quotes in php. If you use double quotes they are automatically parsed:

echo "$var"; // this will print the value of $var;
echo '$var'; // this will print $var;
echo "\$var";// this escapes the dollar sign so it will print $var;

MySQL user not connecting

Problem:
Windows Server 2016, IIS Website, Setup a MySQL server/database, setup a WordPress website, quickly connect with root and root-password. Everything works fine!

Now you want things more secured, so you add a MySQL user with a password and rights to only the wordpress database. Change wp-config.php with the new login and you get a “Error Establishing a Database Connection” when accessing the WordPress website or admin.

Change back to root and the problem is solved. How to fix this?

Continue reading MySQL user not connecting

PHP mail on IIS Windows 2016 Server

How?

IIS MANAGER
Configure SMTP E-mail here to send using an external mailserver will work for ASP scripts – Deliver to SMTP server with credentials

IIS 6.0 MANAGER
Configure the SMTP server here to make the PHP mail-function work.
Properties:
Access-Connection – Grant only your own server IP and 127.0.0.1
Access-Relay – Grant only your own server IP and 127.0.0.1
Delivery-outbound security – Basic Auth login details TLS
Delivery-Advanced – Smart Host smtp server name

PHP.INI
SMTP = 127.0.0.1
smtp_port = 25

SERVICES
configure SMTPSVC to start automatic, so you won’t go crazy after your next reboot…