首先,假设你有一个 PHP 脚本 test.php
,它可能会抛出一个异常:
<?php
throw new Exception("这是一个异常");
然后,你可以写一个 shell 脚本 run_php.sh
来执行这个 PHP 脚本并捕获异常:
# php 抛出异常之后,status是255;正常执行之后,status是0
#!/bin/bash
# 执行 PHP 脚本并捕获输出
output=$(php test.php 2>&1)
status=$?
# 检查 PHP 脚本是否以非零状态退出
if [ $status -ne 0 ]; then
echo "PHP 脚本执行出错:"
echo "$output"
else
echo "PHP 脚本执行成功,输出:"
echo "$output"
fi