Laravel的popen/Process()在IIS切换HTTPS后无法正常运行
问题:IIS下HTTPS模式无法通过PHP打开本地编辑器
前端基于Vue实现,用户可在UI中指定文本编辑器来编辑/查看特定文件。点击「编辑」按钮后,后端从数据库获取编辑器信息,调用对应命令打开目标文件。该功能在本地环境及IIS的HTTP模式下运行正常,但切换至HTTPS后,尽管exec/Process命令返回成功响应,却无法打开编辑器及文件。
示例代码(Artisan命令中使用popen)
$filepath = $this->argument('filepath'); $editor = $this->argument('editor'); // 启动编辑器打开目标文件的命令 $command = "start \"\" \"$editor\" \"$filePath\""; // 打开进程 $process = popen($command, 'r'); if (is_resource($process)) { fclose($process); info('Editor opened successfully.'); } else { info('Failed to open editor.'); }
已尝试的操作
- 使用Process包及
exec()函数,问题仍存在; - 检查php.ini配置,确认
popen未被禁用。
怀疑方向与求助
怀疑HTTPS的IIS配置对exec类命令有影响,或popen被拦截,恳请提供解决建议。
内容的提问来源于stack exchange,提问作者lilyco
相关产品推荐
相关产品推荐

