douou2026 2013-11-25 22:55
浏览 49

发送多行linux到PHP exec()

I'm trying to process multiple unix calls with exec() but the first command seems to have no effect on the second:

exec('cd ../my/new/directory/');
echo exec('pwd')' //directory the PHP is in. not the new directory/

What's the deal here?

  • 写回答

2条回答 默认 最新

  • dongnao2048 2013-11-25 22:58
    关注

    When you call PHP's exec(), PHP will fork a new process, and exec (Unix syscall) the cd command. The parent process (PHP) will then wait on the child process to complete.

    Thus, the cd only takes effect in the child process. After cd returns, your parent process (PHP) is in the same state it was in before.

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿