5

I am on a Win 64 bit OS, php 5.6.8 using Eclipse PDT to develop PHP.

I have come across this Call to undefined function curl_init() error.

I removed the ; preceeding extension=php_curl.dll in php.ini .Restarted the Apache server but still getting the same error.

Any hint where I am going wrong?

saurav
  • 5,388
  • 10
  • 56
  • 101

5 Answers5

24

I had the same issue and after hours, I found a message here :

http://php.net/manual/curl.installation.php

which says, "Upgrading to php 5.6.9 on Windows 7 x64 cURL no longer is recognized. No errors on server start package just not available and didn't show in phpinfo.php. deplister.exe was ok I fixed coping the following list files from php folder (in my case D:\xampp\php) libeay32.dll, libssh2.dll, ssleay32.dll to c:\xampp\apache\bin (or your apache\bin path), restart Apache and works fine, Apache's libraries were outdated."

It worked for me.

Not easy to find, right ? :-)

Force
  • 6,312
  • 7
  • 54
  • 85
nico
  • 460
  • 3
  • 7
5

Just add php folder path in PATH environment variable..... ;)

Vipin Jain
  • 1,382
  • 1
  • 10
  • 19
  • 2
    I spent 8 hours of searching and after trying everything, finally, the problem is solved when I add the PHP folder path in PATH environment variables. – Mahmut Salman Aug 10 '22 at 06:02
  • I also had to restart the Windows PC completely for this solution for work with my XAMPP. – naturaljoin Feb 01 '23 at 11:57
4

Your issue is probably already solved. But for those still searching, please find my answer here.

It might be the the wrong Path being pointed at.

My answer in the Link ( Call to undefined function curl_init() even it is enabled in php7 ) says:

Your Filepath is probably incorrect

Check the Apache error log in

/var/log/apache2/error.log

if the called path or filename does match your real path in e.g.

/usr/lib/php/20151012/php_curl.so

In my case it's been the same path, but "the php_" was missing

/usr/lib/php/20151012/curl.so

So I changed the path / filename accordingly in

/etc/php/7.0/cli/conf.d/20-curl.ini 

from

extension=php_curl.so

into

extension=curl.so
Community
  • 1
  • 1
leopold
  • 1,971
  • 1
  • 19
  • 22
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - [From Review](/review/low-quality-posts/11190572) – tumultous_rooster Feb 08 '16 at 17:54
  • Thanks for the hint @MattO'Brien. I just did not want to spam around with copies. – leopold Feb 08 '16 at 19:38
  • 1
    It is a situation where if the URL moves or the link goes dead...then the answer ends up worthless :) – tumultous_rooster Feb 08 '16 at 20:07
2

Have 2 steps:

  1. Go to php.ini and remove ; in line ;extension=curl (in window). With Linux you can find curl to un-comment it.
  2. I download internet 3 files: libeay32.dll, libssh2.dll, ssleay32.dll. And past to {Apache Folder}/bin. Then restart apache.

You can refer this link if need https://www.php.net/manual/en/curl.installation.php

It is OK now.

Tien Nguyen
  • 449
  • 8
  • 13
1

With PHP 7.2.4 and Apache 2.4.33 both installed on Windows 10x64 I got the same error: call to undefined function curl_init(). php.ini had extensions directory path and the php_curl extension defined and uncommented. Tried suggestions from earlier answers, no go.

Fixed it by adding my PHP location to system PATH (as C:\php) and restarting httpd (Apache2.4 service in my case).