Supported Versions: PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8
Escape a string to be used as a shell argument
<?php escapeshellarg(string $arg): string
<?php $mode = $this->isDirectory($target) ? 'J' : 'H';
exec("mklink /{$mode} ".escapeshellarg($link).' '.escapeshellarg($target));
}
<?php use Symfony\Component\Process\Process;
return function ($url) {
Process::fromShellCommandline(sprintf('echo %s > %s', escapeshellarg($url.'?expected-query=1'), escapeshellarg($GLOBALS['open-strategy-output-path'])))->run();
};
<?php private static function escapeArgument($argument)
{
if ('' === ($argument = (string) $argument)) {
return escapeshellarg($argument);
}
if (!Platform::isWindows()) {
<?php 'COMPOSER_CACHE_DIR' => $this->testDir.'cache',
);
$proc = Process::fromShellCommandline(escapeshellcmd(PHP_BINARY).' '.escapeshellarg(self::$pharPath).' --no-ansi '.$testData['RUN'], $this->testDir, $env, null, 300);
$output = '';
$exitCode = $proc->run(function ($type, $buffer) use (&$output) {
<?php public function testExecuteExampleWithoutLoopRunRunsLoopAndExecutesTicks()
{
$output = exec(escapeshellarg(PHP_BINARY) . ' 01-ticks-loop-class.php');
$this->assertEquals('abc', $output);
}
<?php public function testExecuteExampleWithExplicitLoopRunRunsLoopAndExecutesTicks()
{
$output = exec(escapeshellarg(PHP_BINARY) . ' 02-ticks-loop-instance.php');
$this->assertEquals('abc', $output);
}
<?php public function testExecuteExampleWithExplicitLoopRunAndStopRunsLoopAndExecutesTicksUntilStopped()
{
$output = exec(escapeshellarg(PHP_BINARY) . ' 03-ticks-loop-stop.php');
$this->assertEquals('abc', $output);
}
<?php public function testExecuteExampleWithUncaughtExceptionShouldNotRunLoop()
{
$time = microtime(true);
exec(escapeshellarg(PHP_BINARY) . ' 11-uncaught.php 2>/dev/null');
$time = microtime(true) - $time;
$this->assertLessThan(1.0, $time);
<?php public function testExecuteExampleWithUndefinedVariableShouldNotRunLoop()
{
$time = microtime(true);
exec(escapeshellarg(PHP_BINARY) . ' 12-undefined.php 2>/dev/null');
$time = microtime(true) - $time;
$this->assertLessThan(1.0, $time);
<?php public function testExecuteExampleWithExplicitStopShouldNotRunLoop()
{
$time = microtime(true);
exec(escapeshellarg(PHP_BINARY) . ' 21-stop.php 2>/dev/null');
$time = microtime(true) - $time;
$this->assertLessThan(1.0, $time);
<?php public function testExecuteExampleWithExplicitStopInExceptionHandlerShouldNotRunLoop()
{
$time = microtime(true);
exec(escapeshellarg(PHP_BINARY) . ' 22-uncaught-stop.php 2>/dev/null');
$time = microtime(true) - $time;
$this->assertLessThan(1.0, $time);
<?php $arguments = array_map(static function (string $arg): string {
return escapeshellarg($arg);
}, $arguments);
try {