Home » Apache e PHP 7: warning su estensione cURL

Apache e PHP 7: warning su estensione cURL

PHP ed il warning per cURTL non trovato

E’ da circa un anno che non reinstallavo manualmente un server web con Apache, mySQL e PHP. Su un miniPC con Windows 10 che sto utilizzando per sviluppare un nuovo progetto, ho deciso di non utilizzare le classiche app che fanno tutto da sole (ad esempio MAMP, WAMP o XAMPP per intenderci) ma di procedere alla vecchia maniera.

Dopo aver recuperato gli ultimi installer, ho impostato tutto quanto, ma all’avvio di Apache, nei log ho notato un warning:

PHP Warning: PHP Startup: Unable to load dynamic library ‘curl’ (tried: c:\php\ext\curl (Impossibile trovare il modulo specificato.), c:\php\ext\php_curl.dll (Impossibile trovare il modulo specificato.)) in Unknown on line 0

Andando a verificare nella cartella ext di PHP, ho notato che la dll era lì.

Semplicemente, avevo scordato che non sempre questi warning sono precisi: infatti la dll è presente dove deve essere, ma Apache e PHP si aspettano la presenza di due file in una delle posizioni del path di sistema. Questi due file, per complicarci la vita, si chiamano in un modo per PHP 5.x e in un altro per PHP 7.x. Vediamoli insieme.

In entrambi i casi, viene consigliato di copiare i file in c:\windows\system32\

Per PHP5.x i file da copiare sono libeay32.dll e SSLeay32.dll.

Per PHP 7.x i file sono libcrypto-*.dll e libssl-*.dll

Basta quindi riavviare Apache ed il warning non apparirà più (oltre che ad avere cURL correttamente configurato).

Volendo fare di meglio, possiamo aggiungere al PATH di Windows il percorso di PHP. In questo modo non dovremo copiare alcun file, e avremo le spalle coperte in caso di upgrade di PHP.