Home Tutorial curl_exec() has been disabled for security reasons
formats

curl_exec() has been disabled for security reasons

Published on September 9, 2017, by in Tutorial.

Judulnya langsung tampilan error yang muncul ketika curl tidak aktif yaitu :

Warning : curl_exec() has been disabled for security reasons …

Tampilan tersebut diatas menggunakan *kode php berikut :

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

hal ini mengindikasikan kalau curl tidak aktif di server kita, lantai bagamana cara mengecek kalau curl di website kita aktif atau tidak ?

Kita gunakan function_exists php berikut :

<?php echo function_exists(‘curl_version’)?”CURL nya udah enabled”:”CURL nya masih terdisable”; ?>

function_exict tersebut akan memberikan pesan curl sudah enable atau tidak.

dan ternayata dicek sudah enable, akan tetapi tetap muncul warning curl_exec() has been disabled for security reasons

Lantas apa penyebabnya ? hal ini ternyata diakibatkan oleh curl_exec() yang berada pada disable_functions yang ada di file php.ini

Nah karena disini kita menggunakan cloudlinux dan multi php version jadi cukup banyak php.ini yang ada di server kita, karena ketika kita cek satu-satu di php-5.6 misalnya, pada disable_functions tidak terdapat curl_exec() alias kosong.

Bagaimana cara mencari php.ini yang bersisi curl_exec() pada disable_functions ini ? caranya yaitu kita gunakan scrip berikut, silakan copas pada terminal root anda :

find / -name “*.ini” -type f -exec grep -l “mail,exec,passthru,shell_exec” {} \;

Nah dengan perintah tersebut diatas, akan kita temukan posisi php.ini kita yang aktif. Perhatikan tampilan berikut :

[root@core ~]# find / -name “*.ini” -type f -exec grep -l “mail,exec,passthru,shell_exec” {} \;
find: ‘/proc/16067’: No such file or directory
/usr/share/cagefs/.cpanel.multiphp/opt/cpanel/ea-php56/root/etc/php.d/local.ini
/usr/share/cagefs/.cpanel.multiphp/opt/cpanel/ea-php55/root/etc/php.d/local.ini
/usr/share/cagefs/.cpanel.multiphp/opt/cpanel/ea-php70/root/etc/php.d/local.ini
/usr/share/cagefs/.cpanel.multiphp/opt/cpanel/ea-php71/root/etc/php.d/local.ini
/usr/share/cagefs-skeleton/opt/cpanel/ea-php55/root/etc/php.d/local.ini
/usr/share/cagefs-skeleton/opt/cpanel/ea-php56/root/etc/php.d/local.ini
/usr/share/cagefs-skeleton/opt/cpanel/ea-php70/root/etc/php.d/local.ini
/usr/share/cagefs-skeleton/opt/cpanel/ea-php71/root/etc/php.d/local.ini
/opt/cpanel/ea-php55/root/etc/php.d/local.ini
/opt/cpanel/ea-php56/root/etc/php.d/local.ini
/opt/cpanel/ea-php70/root/etc/php.d/local.ini
/opt/cpanel/ea-php71/root/etc/php.d/local.ini

Dari hasil pencarian tersebut diatas sudah jelas posisi file php.ini menajdi local.ini

Sekarang kita edit file local.ini satu-satu seperti yang tampil diatas :

nano /usr/share/cagefs/.cpanel.multiphp/opt/cpanel/ea-php56/root/etc/php.d/local.ini

Perhatikan tampilan berikut, terdapat curl_exec() pada disabled_function :

Hapus curl_exec() pada disable_functions menjadi seperti berikut :

Lakukan untuk file local.ini yang lain yang tampil pada pencarian tersebut.

Setelah selesai silakan cek kembali menggunakan *kode php diatas.

Selamat curl berhasil aktif pada server cpanel anda.

2 Responses

  1. Sebenernya gak harus edit satu satu.. bisa pake find and replace menggunakan perintah sed seperti ini:

    find / -name “*.ini” -type f -exec sed -i ‘s/disable_function/\#disable_function/g’ {} \;

    fungsinya find disable_function dan replace menjadi #disable_function

    CMIWW

Leave a Reply

Your email address will not be published. Required fields are marked *