Why is my PHP source code showing?

落爺英雄遲暮 提交于 2019-11-27 04:46:14

问题


So, I added the following to my http.conf file:

Listen443

NameVirtualHost *:443

<VirtualHost *:443>
    DocumentRoot /PATH_TO/www
    ServerName www.domain.com
    SSLEngine on
    SSLCertificateFile /PATH_TO/domain.crt
    SSLCertificateKeyFile /PATH_TO/domain.key
    SSLCertificateChainFile /PATH_TO/intermediate.crt
</VirtualHost>

https://www.domain.com works now, but it displays the PHP source code? What could be the reason for this?


回答1:


"Server configuration error" is the reason ;-)

It is choosing to serve PHP files as "plain content" instead of handing them to a PHP engine for processing. This doesn't have anything to do with SSL (it will just as happily send the "plain content" over a secure connection).

From PHP: Installation:

AddModule mod_php.c
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php .php

And from PHP pages won't load:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

See a pattern? :-) In any case, read the fine installation instructions for the particular platform/server.

Happy coding.




回答2:


It could also be that your php.ini configuration is set to not parse code between short php tags.




回答3:


In centos this can happen because of php-module missing, to fix that issue we have to install

sudo yum install php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml



来源:https://stackoverflow.com/questions/7264014/why-is-my-php-source-code-showing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!