我有 High Sierra OS - 版本 10.13.6 PHP 版本:PHP 7.1.9
当我尝试执行命令时php -v总是出现这样的错误:
PHP 启动:无法加载动态库 '/usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so' - dlopen(/usr/ local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so, 9): 库未加载:/usr/local/opt/imagemagick/lib/ libMagickWand-7.Q16HDRI.5.dylib
引用自:/usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so 原因:image not在第 0 行的未知中找到警告:PHP 启动:无法加载动态库 '/usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so' - dlopen(/ usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so, 9): 库未加载: /usr/local/opt/imagemagick/ lib/libMagickWand-7.Q16HDRI.5.dylib
引用自:/usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so 原因:在 Unknown on line 0 PHP 7.1.9 (cli) (built: Sep 14 2017 10:05:35) ( NTS ) 版权所有 (c) 1997-2017 The PHP Group Zend Engine v3.1.0, 版权所有 (c) 1998-2017 Zend Technologies 与 Zend OPcache v7.1.9,版权所有 (c) 1999-2017,由 Zend Technologies 与 Xdebug v2.5.3,版权 …
7 项目,我有这个Voucher_detale模型的全局范围
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class getVouchers implements Scope
{
public function apply(Builder $builder, Model $model)
{
$builder->where('vouchers_detale_state', '=', 1);
}
}
Run Code Online (Sandbox Code Playgroud)
我有Voucher模型,里面有很多,这是代码'
public function getDetales()
{
return $this->hasMany('App\Vouchers_detale','vouchers_detale_voucher_id','id')->withTrashed();
}
Run Code Online (Sandbox Code Playgroud)
在刀片里面我有这个代码
@foreach($voucher['getDetales'] as $v)
<tr class='table-warning'>
<td>
<a href='/{{$path}}/Vouchers_detales/{{$v["id"]}}'>{{$v['vouchers_detale_user_id']}}</a>
<div class='selected d-print-none'>
@foreach($v->getUpdate as $update)
<span style='color:black'>{{$update['update_history_old_amount']}}</span>
{{$update['created_at']}}
{{$update['getUserData']['user_name']}}
<hr />
@endforeach
</div>
</td>
<td>{{$v['getUserData']['user_name']}}</td>
@if($v['vouchers_detale_amount'] > 0)
<td>{{$v['vouchers_detale_amount']}}</td>
<td></td>
@php $total_debt += $v['vouchers_detale_amount'] @endphp
@else
<td></td>
<td>{{$v['vouchers_detale_amount'] * -1}}</td> …Run Code Online (Sandbox Code Playgroud) 此PHP命令行脚本使用proc_open()运行另一个脚本:
<?php
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
$crash = proc_open('php crash.php', $descriptorspec, $pipes);
$status = proc_get_status($crash);
print_r($status);
Run Code Online (Sandbox Code Playgroud)
内部脚本故意崩溃:
<?php
crash();
Run Code Online (Sandbox Code Playgroud)
我希望proc_get_status()告诉我进程不再运行,并且退出代码为255.
但是,这是输出:
Array
(
[command] => php crash.php
[pid] => 78769
[running] => 1
[signaled] =>
[stopped] =>
[exitcode] => -1
[termsig] => 0
[stopsig] => 0
)
Run Code Online (Sandbox Code Playgroud)
为什么状态仍显示为正在运行?
(我不能在我的实际用例中使用proc_close(),因为我特别希望将多个内容传递给内部脚本并查看哪个导致它崩溃.)