开发者

Why is my PHP source code showing?

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 reaso开发者_如何学Gon for this?


"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.


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


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


Just type LOCALHOST in your browser. then it will open the http://localhost/htdocs/ location. then navigate to your php file. It will open accordingly.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜