Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式禁用特定PHP函数进行测试_Php - Fatal编程技术网

以编程方式禁用特定PHP函数进行测试

以编程方式禁用特定PHP函数进行测试,php,Php,我有一个函数,该函数使用cURL发出HTTP请求,如果cURL在系统上不可用,则返回到file\u get\u contents() 我想为这个函数编写单元测试(利用PHPUnit),其中cURL可用于某些测试,而不可用于其他测试 是否可以通过编程禁用PHP函数,例如curl\u init()? 我知道我可以在php.ini中使用禁用函数设置,但我希望找到一种方法来进行单元测试,而不必在运行之间重新配置php。您可以使用它删除任何已定义的函数,我想: runkit_function_remove

我有一个函数,该函数使用cURL发出HTTP请求,如果cURL在系统上不可用,则返回到
file\u get\u contents()

我想为这个函数编写单元测试(利用PHPUnit),其中cURL可用于某些测试,而不可用于其他测试

是否可以通过编程禁用PHP函数,例如
curl\u init()

我知道我可以在php.ini中使用
禁用函数
设置,但我希望找到一种方法来进行单元测试,而不必在运行之间重新配置php。

您可以使用它删除任何已定义的函数,我想:

runkit_function_remove('curl_init');
并且,根据文件:

注意:默认情况下,只能删除、重命名或修改用户空间函数。为了覆盖内部函数,必须在
php.ini
中启用
runkit.internal\u override
设置


是否
ini_集('disable_functions','…')工作?@Crozin,否,
禁用函数
仅适用于php.ini。那会有用的,谢谢!我目前没有安装runkit,但我会在稍后安装它。