PHP 通过防火墙显示不同

PHP displays differently through firewall

我正在我的个人网站上玩一些 PHP 和 MySQL。在家里,一切都很好。然而,在工作中,如果 PHP 代码使用 GD 来操作图像,则页面上不会显示任何内容。如果它只显示 HTML,它会显示 HTML 标签和文本,而不会对其进行格式化。即使已经显示了所有信息,也需要很长时间才能忙完。

在我看来,这显然是我工作防火墙上的安全设置,但我知道我可以访问的 PHP 个网站没有这个问题。 PHP 中是否存在我尚未设置的可能导致此问题的设置?这听起来对任何人来说都很熟悉吗?

我使用的示例代码之一是

<?php

echo '<HTML><HEAD></HEAD><BODY>';

//For loop to loop through this 100 times
for ($x = 1; $x <= 100; $x++) {
//Generate three random R, G, and B integers for an RGB value using mt_rand()
$r = mt_rand(0, 255);
$g = mt_rand(0, 255);
$b = mt_rand(0, 255);

//Turn them into a hex code:
$hexCode = dechex( (($r & 0xFF) << 16) | (($g & 0xFF) << 8) | ($b & 0xFF));
echo 'RED: ' . $r . ' GRN: ' . $g . ' BLU: ' . $b . '<BR>Hex Code: '. $hexCode . '<BR><BR>';
// End Bracket for the For loop
}
echo '</BODY></HTML>';
?>

如您所见,没什么特别的。

我试过在 Firefox、Chrome 和 IE 中打开此页面,但只有 'fails' 有效。在这种情况下,它失败了,显示了一些数字(根本没有在代码中回显),然后 HTML 可见的页面不被视为标记。

snippet of HTML output

有人知道让我的简单测试页面显示在我的工作计算机上的方法吗?

我正在利用个人开发时间来复习一些 PHP 概念和 MySQL 概念,为即将到来的项目做准备。我想使用我的个人服务器来 运行 这些测试程序,而不是将我与合作伙伴共享的工作 linux 框与我的个人工作区混在一起。如有任何帮助,我们将不胜感激!

所以网站在尝试加载页面时没有 SSL 证书。我以前不需要,但我工作的网络安全显然已经调整了一些设置。

但是,由于我是通过 HTTP://sitenamehere.etc/pagename.php 以以前的方式访问该站点的,因此没有浏览器显示错误,指出它没有加载,因为没有 SSL...它只是在处理将 HTML 显示为纯文本且不显示任何图像时的输出。

使用浏览器的开发人员工具查看网络选项卡,我可以看到该站点被标记为不安全。生成自签名 SSL 并从 HTTPS://sitenamehere.etc/pagename.php 访问页面最终显示 'This site is not safe!' 对话框页面并允许我添加例外。

感谢 Michael Berkowski 引导我完成导致此解决方案的这些故障排除步骤。希望这可以帮助其他人在远程访问时学习 PHP。