Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
616 views
in Technique[技术] by (71.8m points)

apache - 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 reason for this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...