2

我提出了我的问题:我使用 wampserver 2.4 创建了一个无法创建文件的本地站点.tex。接下来我想devoir.tex用 MiKTeX 编译这个文件(名为 ),所以latex.exebin目录中。但是,使用exec(),我无法创建.dvi文件并且程序永远不会停止。我的不同代码示例:

  1. $path='C:\MiKTeK\miktex\bin\x64\latex.exe devoir.tex';

    exec($path);

  2. exec('start C:\MiKTeK\miktex\bin\x64\latex.exe devoir.tex');

  3. shell_exec('C:\MiKTeK\miktex\bin\x64\latex.exe devoir.tex ');

不要创建.dvi文件。

十年前,我用easyphp做了这个网站,还可以。但是现在,我不明白这个问题:句法问题?其他由于windows7?

4

1 回答 1

0

尝试 php.net 评论sbourazanis上的解决方案

/**
 * Fonction Exec marche mal sous Windows, donc il en faut une autre 
 * fr.php.net/manual/fr/function.exec.php#86438
 * @param string $cmd
 * @return boolean
 */
public function _exec($cmd) 
{ 
    $WshShell = new COM("WScript.Shell"); 
    $oExec = $WshShell->Run($cmd, 0, true); //0 pour avoir une fenêtre cachée
                                            //true pour attendre la fin de l'éxécution
                                            //cf. http://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.84%29

    return $oExec == 0 ? true : false; 
}
于 2014-02-26T14:52:20.527 回答