php - 为什么在使用机器名运行脚本时无法在 php 中运行 exec?
问题描述
Helle coders,我有一个包含以下三行的 PHP 脚本。我的服务器是 Ubuntu,我使用服务器 IP 或服务器主机名通过网络运行此代码。当我使用服务器 IP 运行此脚本时,没有问题。但是当我尝试使用服务器主机名运行此代码时,代码正在运行但 exec 不会执行。有人知道吗?我该如何解决这个问题?
<?php
$total_sys_memory = array();
exec("awk '/MemTotal/ {print $2}' /proc/meminfo", $total_sys_memory);
print_r($total_sys_memory);
?>
我认为问题可能在于使用服务器主机名调用 exec 的特权。
当使用客户端系统中的浏览器时,使用以下地址打开此脚本:
http://192.168.1.101/armiti/login/script.php
执行运行。但是当我用下面的地址打开这个脚本时:
http://server/armiti/login/script.php
exec 不会运行。为什么?
解决方案
推荐阅读
- three.js - THREEJS - 具有自定义 UV 映射的缓冲区几何图形
- php - 使用多行 PHP 变量作为执行 bash 脚本的参数
- excel - 将多张表中的列数据复制到同一列中的一张表中,不覆盖
- javascript - 从数组中删除对象,其中一个键是重复的,另一个键比其他键少
- java - 检查点发生时,flink 广播状态不会保存到rocksdb?
- apache-spark - 我们可以将 Spark 的 CBO(基于成本的优化器)与原生 parquet 或内存数据帧结合使用吗?
- prolog - 如何使用 Prolog 解决运输问题?
- math - 两个快速移动的圆圈之间的碰撞解决方案。一种对碰撞没有反应的
- matlab - (MATLAB)如何获得一系列图像的最大和最小背景?
- bash - 如何使用 Xidel 从图像 @srcset 属性中获得图像的最佳分辨率?