Skip to content

Commit bfe1a5d

Browse files
authored
Merge pull request #61 from clue-labs/pharrr
Support spawning worker process from within PHARs without file extension
2 parents cfd0cd4 + ef4cb2e commit bfe1a5d

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,5 @@ jobs:
3838
if: ${{ matrix.php < 7.3 }}
3939
- run: cd tests/install-as-dep && composer install && php query.php
4040
- run: cd tests/install-as-dep && php -d phar.readonly=0 vendor/bin/phar-composer build . query.phar && php query.phar
41+
- run: cd tests/install-as-dep && mv query.phar query.ext && php query.ext
42+
- run: cd tests/install-as-dep && mv query.ext query && php query

src/Factory.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ private function openProcessIo($filename, $flags = null)
229229
$cwd = null;
230230
$worker = \dirname(__DIR__) . '/res/sqlite-worker.php';
231231

232-
if (\class_exists('Phar', false) && \Phar::running(false) !== '') {
233-
$worker = '-r' . 'require(' . \var_export($worker, true) . ');'; // @codeCoverageIgnore
232+
if (\class_exists('Phar', false) && ($phar = \Phar::running(false)) !== '') {
233+
$worker = '-r' . 'Phar::loadPhar(' . var_export($phar, true) . ');require(' . \var_export($worker, true) . ');'; // @codeCoverageIgnore
234234
} else {
235235
$cwd = __DIR__ . '/../res';
236236
$worker = \basename($worker);
@@ -297,8 +297,8 @@ private function openSocketIo($filename, $flags = null)
297297
$cwd = null;
298298
$worker = \dirname(__DIR__) . '/res/sqlite-worker.php';
299299

300-
if (\class_exists('Phar', false) && \Phar::running(false) !== '') {
301-
$worker = '-r' . 'require(' . \var_export($worker, true) . ');'; // @codeCoverageIgnore
300+
if (\class_exists('Phar', false) && ($phar = \Phar::running(false)) !== '') {
301+
$worker = '-r' . 'Phar::loadPhar(' . var_export($phar, true) . ');require(' . \var_export($worker, true) . ');'; // @codeCoverageIgnore
302302
} else {
303303
$cwd = __DIR__ . '/../res';
304304
$worker = \basename($worker);

tests/install-as-dep/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
/composer.lock
2+
/query
3+
/query.ext
24
/query.phar
35
/vendor/

0 commit comments

Comments
 (0)