Это, кажется, работает правильно с safe_mode
.
Чтобы проверить CURL, вы можете искать его в загруженных расширениях (как вы это сделали) или просто:
function_exists('curl_init');
Что касается сообщения об ошибке, я не уверен, что вы спрашиваете. Вы хотите подавить сообщение об ошибке?
Вы можете сделать что-то вроде:
$old=error_reporting(0); // turn off error reporting
// do whatever that causes errors
error_reporting($old); // turn it back on