[PHP] Exception: Call to undefined function curl_init()
Today I ran into a trap while maintaining an old PHP Codeigniter project on an ubuntu server, the error message says:
Severity: error --> Exception: Call to undefined function curl_init()
Turns out this is very easy to fix, we just need to install the missing CURL extension for PHP.
Solution
(Optional) Check the running PHP version for Apache
To locate where the Apache’s ROOT configuration directory
apache2ctl -V | grep HTTPD_ROOT
The result in my case is
-D HTTPD_ROOT="/etc/apache2"
Just so we know the ROOT directory is /etc/apache2
, and let’s check the mods-enabled
directory in it:
ls /etc/apache2/mods-enabled/ | grep php
The result in my case is
php7.4.conf
php7.4.load
Now we confirm that we’re running php7.4
here.
Install the CURL extension
sudo apt install php7.4-curl
To check the installation by running the command:
php7.4 -r "curl_init();"
It returns nothing if we’re all good, otherwise, an error message will be shown like below:
PHP Fatal error: Uncaught Error: Call to undefined function curl_init() in Command line code:1
Lastly, don’t forget to restart apache2 service:
sudo service apache2 restart
⤧ Previous post [PHP] Setup Xdebug with VS Code for macOS ⤧ Next post 如何設定 Git pre-commit hook 自動執行語法檢查