Python';s os.execvp等效于PHP

Python';s os.execvp等效于PHP,php,python,shell,command-line-interface,Php,Python,Shell,Command Line Interface,我有一个PHP命令行程序正在运行。我想直接从PHP连接到mysql外壳。我以前在Python中使用os.execvp完成过这项工作,但在PHP中无法实现同样的功能 我尝试了以下功能: 系统 穿越 执行官 壳牌执行董事 例如: system('mysql -u root -pxxxx db_name'); 但他们似乎都在等待mysql退出并返回一些东西。我真正想要的是PHP启动mysql shell,然后自行退出。有什么想法吗?给MySQL一个独立于PHP脚本运行的脚本: system('m

我有一个PHP命令行程序正在运行。我想直接从PHP连接到mysql外壳。我以前在Python中使用os.execvp完成过这项工作,但在PHP中无法实现同样的功能

我尝试了以下功能:

  • 系统
  • 穿越
  • 执行官
  • 壳牌执行董事
例如:

system('mysql -u root -pxxxx db_name');

但他们似乎都在等待mysql退出并返回一些东西。我真正想要的是PHP启动mysql shell,然后自行退出。有什么想法吗?

给MySQL一个独立于PHP脚本运行的脚本:

system('mysql -u root -pxxxx db_name < script.mysql');
system('mysql-u root-pxxx db_name
除了acrosman所说的,您还可以使用
-e
开关从命令行传递SQL

$sql = ".....";
system("mysql -u root -pxxxx db_name -e \"$sql\"");

另外,我希望您实际上不要从PHP应用程序以root用户身份连接到数据库。

如果希望shell命令具有交互性,请使用:

system("mysql -uroot -p db_name > `tty`");

这在大多数情况下都有效,但如果您不在航站楼,则会中断。

谢谢您的提示,但这不是我想要的。我想将用户从PHP cli移动到mysql shell中。太棒了!这正是我要找的!