linux环境PHP执行exec没反应
近期在做项目时用到php中exec这个函数遇到了一些问题,特记录下来:
- 首先本地环境是能够成功执行的,但是线上环境不行
- linux下在窗口执行 php -r “shell_exec(‘命令’);” 是能够成功执行的
- 为了防止文件没有权限,把文件权限改为777
后来在同事遇到过类似情况,下面说一下解决方案:
- 找到sudo配置文件 路径是 /etc/sudoers
- root ALL=(ALL) ALL 这行 意思是允许root用户执行任意路径下的任意命令
- www ALL=NOPASSWD:命令路径 我执行的是 ffmpeg xxxx 虽然我配置的有环境变量 好像还是要写 全路径 /usr/local/FFmpeg/ffmpeg
- 代码里面 命令前要加 sudo