如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

在前面文章的学习中,大家已经知晓nginx关于phar的设置项目了。在本文中,我们来看看,apache是如何处理phar文件的。是否能够保证phar的源码安全呢?是非分明,且听本回分解。

前言

php的服务器市场上,搭配的多数是nginx,少数是apache。当然,iis及其它服务器环境也是存在的,但是过于稀少,就不在考虑范围内了。而apache搭配php的方式又有两种,一种是作为handler模式,一种是proxy到fpm,fastcgi模式。具体的可以点击这里查看,https://newsn.net/say/apache-fastcgi-php.html

具体点说的话,本文的环境前提是:nginx + handler2模式对接php,即php作为apache的一个模块存在。

apache的handler模式下,phar安全设置 - apache_000
apache的handler模式下,phar安全设置(图7-1)

默认情况下,phar文件在apache中的展示效果,貌似比nginx上还要惨一点,直接显示所有源码了。

apache的handler模式下,phar安全设置 - 001
apache的handler模式下,phar安全设置(图7-2)

编辑conf配置

配置文件的位置,也是看具体情况不同而不同。mac系统里面,默认的位置为:/etc/apache2/

这里如果想要测试效果,您可能需要配置vhost。所以,这里的关联文章是:https://newsn.net/say/apache-vhost.html 。但是,对于本文来说,您需要的是如下几项:

httpd.conf,开启php支持。

LoadModule php7_module libexec/apache2/libphp7.so
Include /private/etc/apache2/other/*.conf

other/php7.conf,php配置,识别phar类型。

AddType application/x-httpd-php .phar

apache的handler模式下,phar安全设置 - httpd_001
apache的handler模式下,phar安全设置(图7-3)

apache的handler模式下,phar安全设置 - httpd_002
apache的handler模式下,phar安全设置(图7-4)

apache的handler模式下,phar安全设置 - phar_php7conf
apache的handler模式下,phar安全设置(图7-5)

测试配置重启

sudo apachectl -t
sudo apachectl restart

重启apache后,就可以看到和nginx一致的webphar效果了。

apache的handler模式下,phar安全设置 - apache_test
apache的handler模式下,phar安全设置(图7-6)

apache的handler模式下,phar安全设置 - nginx_test
apache的handler模式下,phar安全设置(图7-7)

结论

phar文件,似乎被apache或者nginx们遗忘在了历史的角落。真心有点英雄末路的感觉。所以,我们需要时刻提醒一下nginx和apache们,phar文件的存在。

想查看更多有关phar的经验文章嘛?马上点击这里查看,苏南大叔恭候您的点击。https://newsn.net/tag/phar/

 【源码】代码片段及相关软件点此获取

 【php】秘籍文章入口,仅传授于有缘之人   php    apache

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!