| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull Requests
Pull requests: 
HistoryAllCommentsChangesGit/SVN commits             
             [2018-01-20 09:40 UTC] requinix@php.net
 
-Summary: Incorrect PHAR stub parsing
+Summary: Incorrect PHAR stub parsing with __halt_compiler()
          using implied semicolon
  [2018-01-20 09:40 UTC] requinix@php.net
  [2021-01-25 16:18 UTC] cmb@php.net
 
-Summary:     Incorrect PHAR stub parsing with
              __halt_compiler() using implied semicolon
+Summary:     Unclear error message wrt. __halt_compiler()
              w/o semicolon
-Status:      Open
+Status:      Verified
-Assigned To:
+Assigned To: cmb
  [2021-01-25 16:19 UTC] cmb@php.net
  [2021-01-25 17:50 UTC] cmb@php.net
  [2021-01-25 17:50 UTC] cmb@php.net
 
-Status: Verified
+Status: Closed
  [2021-01-27 06:53 UTC] anrdaemon at yandex dot ru
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 09:00:01 2025 UTC | 
Description: ------------ Unable to use stub with "?>" token present but ";" omitted after __halt_compiler(). According to PHP parsing rules, "?>" implies ";". (In other words, the stub itself executes cleanly, which makes it extra hard to realize the source of confusion.) At the very least, the error message could be clearer. Test script: --------------- <?php (new Phar("test.phar"))->setStub("<?php __halt_compiler()?>"); Expected result: ---------------- A `test.phar` example created. Actual result: -------------- PHP Fatal error: Uncaught PharException: illegal stub for phar ".../test.phar" in .../case2.php:3 Stack trace: #0 .../case2.php(3): Phar->setStub('<?php __halt_co...') #1 {main} thrown in .../case2.php on line 3