2017-01-03 29 views
7

规格: Ubunutu 16.04.1服务器 nginx的1.10 HHVM 3.17.0HHVM RepoMode分段错误

我试图收集的文件列表,并运行他们通过HHVM编译器利用回购方式,与下面的代码:

#!/bin/bash 

if [ "$(whoami)" != "root" ]; then 
    echo "Only root can do this."; 
    exit 1; 
else 

    if [ $# -eq 0 ]; then 
     echo "Please pass the account name to enable this for" 
     exit 1; 
    else 

     #Get a list of files 
     FLIST=$(find /home/$1/www/ -type f -name '*.php'); 
     for F in $FLIST 
     do 
      if [ -f $F ]; then 
       echo "Adding; $F"; 
       echo $F >> $1-list.txt; 
      fi; 
     done; 
     hhvm --hphp -t hhbc -v AllVolatile=false -v WholeProgram=false --input-list $1-list.txt; 
     sleep 1; 
     rm -f $1-list.txt; 
    fi; 

fi; 

在我的服务器上运行它,我呈现:

running hphp... 
creating temporary directory /tmp/hphp_cFPMUQ ... 
parsing inputs... 
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/vendor/autoload.php 
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/test/vendor/autoload.php 
Unable to stat file /home/kpirnie/www/wp-content/PHPMailer/test/testbootstrap.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/cloudflare/cf-ip-rewrite/vendor/autoload.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/phing/Task.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phar:/guzzle.phar/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/PackageFileManager2.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/PackageFileManager/File.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/PEAR/Packager.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/guzzle/guzzle/phing/tasks/phing/tasks/ext/git/GitBaseTask.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/cloudflare/vendor/sebastian/comparator/vendor/autoload.php 
Unable to stat file /home/kpirnie/www/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php 
parsing inputs took 0'01" (1425127 us) wall time 
pre-optimizing... 
Core dumped: Segmentation fault 
Stack trace in /tmp/stacktrace.31028.log 
hphp failed 
running hphp took 0'02" (2216979 us) wall time 

我CA n验证Unable to stat的文件确实不存在。

Stacktrace显示看起来像内存转储(我假设)由于分段故障。

我该如何实现真实回购模式?跳过丢失的文件?但是如何?

+0

这个问题应该在别的地方吗? – Kevin

+0

不能完全明白为什么这个问题有一个Nginx标记 – Dayo

回答

1

如果您的源代码中没有提及这些文件,请尝试将空文件放在这些位置。

但是,很可能您正在通过包含它们的路径引用这些文件。我怀疑这是一个HHVM问题,你应该提交你的失败测试案例here