我希望有一个受到适当保护的PHP基于Web的工具来运行mysqlcheck
一般的数据库表运行状况,但我不希望密码在进程列表中可见.我想运行这样的东西:
$output = shell_exec('mysqlcheck -Ac -uroot -pxxxxx -hhostname');
// strip lines that's OK
echo '<pre>'.preg_replace('/^.+\\sOK$\\n?/m', '', $output).'</pre>';
Run Code Online (Sandbox Code Playgroud)
不幸的是,使用a shell_exec()
,我必须在命令行中包含密码,但我担心密码会显示在进程列表中(ps -A | grep mysqlcheck
).
在我的测试机器上使用mariadb 5.5,mysqlcheck没有在进程列表中显示密码,但是我的生产机器没有运行mariadb并且运行不同的操作系统而且我想要在安全方面而不是运行这些在生产方面进行测试.
所有版本的mysql是否也隐藏了进程列表中的密码?我的担忧是不是问题?
在下面的示例中,自动加载器在什么时候加载类文件,如果有的话?例如,如果$boolean_test === false
Subpackage被加载?
use Org\Group\Package\Subpackage; // autoloader triggered here?
if ($boolean_test) {
Subpackage::method(); // or here?
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢use
代码顶部附近的语句,因此我可以看到页面中使用了哪些包,并且可读性稍好一些.但是,如果只使用基于条件的包,我可能会加载不需要的资源.