How to get a PHP file to run with an ".html" extension? - php

I have to execute PHP codes in a HTML file, but my server not doing it. I added a handler AddHandler application/x-httpd-php .html .htm but still it's not responding to the code.
The code I tried to execute
<!DOCTYPE html>
<html>
<body>
<?php
$url=basename($_SERVER['REQUEST_URI']);
?>
<p>the file name is <?php echo $url; ?></p>
</body> </html>
and the result is "the file name is"
it should be "the file name is test.html"
I checked the server software version via phpinfo() it say this "Apache Phusion_Passenger/4.0.10 mod_bwlimited/1.4 mod_fcgid/2.3.9". now what ?
I don't even know that it is. Please tell me what server my web host is using and how can I run PHP codes in a HTML file?

You can try one of the following (probably, add to your .htaccess):
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
Or
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>

Please rename the file from test.html to test.php and browse the file.It will work.

Related

Include PHP header in my HTML files [duplicate]

How can I run simple PHP code inside a .html file?
To execute 'php' code inside 'html' or 'htm',
for 'apache version 2.4.23'
Go to '/etc/apache2/mods-enabled'
edit '#mime.conf'
Go to end of file and
add the following line:
"AddType application/x-httpd-php .html .htm"
BEFORE tag '< /ifModules >'
verified and tested with 'apache 2.4.23'
and 'php 5.6.17-1'
under 'debian'
You can't run PHP in an html page ending with .html. Unless the page is actually PHP and the extension was changed with .htaccess from .php to .html
What you mean is:
index.html
<html>
...
<?php echo "Hello world";?> //This is impossible
index.php //The file extension can be changed using htaccess, ex: its type stays php but will be visible to visitors as index.html
<?php echo "Hello world";?>
thanks for the ideas but none works here. So i did that...
I am using xampp last version on 2014.
go to \xampp\apache\conf\extra\httpd-xampp.conf.
we will find this bit of code:
<IfModule php5_module>
**<FilesMatch "\.php$">**
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
PHPINIDir "C:/xampp/php"
</IfModule>
Focus on second line, so we must to change to:
<IfModule php5_module>
**<FilesMatch "\.(php|html)$">**
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
PHPINIDir "C:/xampp/php"
</IfModule>
And that is it. Works good!
Simply you cant !! but you have some possbile options :
1- Excute php page as external page.
2- write your html code inside the php page itself.
3- use iframe to include the php within the html page.
to be more specific , unless you wanna edit your htaccess file , you may then consider this:
http://php.about.com/od/advancedphp/p/html_php.htm
Yes, you can run PHP in an HTML page.
I have successfully executed PHP code in my HTML files for many years. (For the curious, this is because I have over 8,000 static HTML files created by me and others over the last 20 years and I didn't want to lose search engine ranking by changing them and, more importantly, I have too many other things to work on).
I am not an expert -- below is what I've tried and what works for me. Please don't ask me to explain it.
Everything below involves adding a line or two to your .htaccess file.
Here is what one host ( http://simolyhosting.net ) support did for me in 2008 -- but it no longer works for me now.
AddHandler application/x-httpd-php5 .html .htm
AddType application/x-httpd-php5 .htm .html
That solution appears to be deprecated now, though it might work for you.
Here's what's working for me now:
AddType application/x-httpd-lsphp .htm .html
(This page has PHP code that executes properly with the above solution -- http://mykindred.com/bumstead/steeplehistory.htm )
Below are other solutions I found -- they are NOT MINE:
https://forums.cpanel.net/threads/cant-execute-php-in-html-since-ea4-upgrade.569531
I'm seeing this across many servers I've recently upgraded to EA4. Using cPanel Apache handlers or adding this directly in to .htaccess (same as cPanel does through gui add handlers):
AddHandler application/x-httpd-php5 .html
Sep 9, 2016
AddHandler application/x-httpd-ea-php56 .html
https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/php-c37728/parsing-php-code-within-html-pages-a602364.html
Open a text editor such as wordpad, notepad, nano, etc. and add the following line:
AddHandler x-mapp-php5 .html .htm
If you want to use PHP 5.4 instead of PHP 5.2 then use the following line instead:
AddHandler x-mapp-php6 .html .htm
https://www.godaddy.com/community/Developer-Cloud-Portal/Running-php-in-html-files/td-p/2776
To run HTML using FastCGI/PHP, try adding this code to the .htaccess file for the directory the script is in:
Options +ExecCGI
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
You can add additional lines for other file extensions if needed.
You need to make the extension as .php to run a php code
BUT if you can't change the extension you could use Ajax to run the php externally and get the result
For eg:
<html>
<head>
<script src="js/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url:'php_File_with_php_code.php',
type:'GET',
data:"parameter=some_parameter",
success:function(data)
{
$("#thisdiv").html(data);
}
});
});
</script>
</head>
<body>
<div id="thisdiv"></div>
</body>
</html>
Here, the JQuery is loaded and as soon as the pages load, the ajax call a php file from where the data is taken, the data is then put in the div
Hope This Helps
I'm not sure if this is what you wanted, but this is a very hackish way to include php. What you do is you put the php you want to run in another file, and then you include that file in an image. For example:
RunFromHTML.php
<?php
$file = fopen("file.txt", "w");
//This will create a file called file.txt,
//provided that it has write access to your filesystem
fwrite($file, "Hello World!");
//This will write "Hello World!" into file.txt
fclose($file);
//Always remember to close your files!
?>
RunPhp.html
<html>
<!--head should be here, but isn't for demonstration's sake-->
<body>
<img style="display: none;" src="RunFromHTML.php">
<!--This will run RunFromHTML.php-->
</body>
</html>
Now, after visiting RunPhp.html, you should find a file called file.txt in the same directory that you created the above two files, and the file should contain "Hello World!" inside of it.
<?php
echo '<p>Hello World</p>'
?>
As simple as placing something along those lines within your HTML assuming your server is set-up to execute PHP in files with the HTML extension.

How can I run a PHP script inside a HTML file?

How can I run simple PHP code inside a .html file?
To execute 'php' code inside 'html' or 'htm',
for 'apache version 2.4.23'
Go to '/etc/apache2/mods-enabled'
edit '#mime.conf'
Go to end of file and
add the following line:
"AddType application/x-httpd-php .html .htm"
BEFORE tag '< /ifModules >'
verified and tested with 'apache 2.4.23'
and 'php 5.6.17-1'
under 'debian'
You can't run PHP in an html page ending with .html. Unless the page is actually PHP and the extension was changed with .htaccess from .php to .html
What you mean is:
index.html
<html>
...
<?php echo "Hello world";?> //This is impossible
index.php //The file extension can be changed using htaccess, ex: its type stays php but will be visible to visitors as index.html
<?php echo "Hello world";?>
thanks for the ideas but none works here. So i did that...
I am using xampp last version on 2014.
go to \xampp\apache\conf\extra\httpd-xampp.conf.
we will find this bit of code:
<IfModule php5_module>
**<FilesMatch "\.php$">**
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
PHPINIDir "C:/xampp/php"
</IfModule>
Focus on second line, so we must to change to:
<IfModule php5_module>
**<FilesMatch "\.(php|html)$">**
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
PHPINIDir "C:/xampp/php"
</IfModule>
And that is it. Works good!
Simply you cant !! but you have some possbile options :
1- Excute php page as external page.
2- write your html code inside the php page itself.
3- use iframe to include the php within the html page.
to be more specific , unless you wanna edit your htaccess file , you may then consider this:
http://php.about.com/od/advancedphp/p/html_php.htm
Yes, you can run PHP in an HTML page.
I have successfully executed PHP code in my HTML files for many years. (For the curious, this is because I have over 8,000 static HTML files created by me and others over the last 20 years and I didn't want to lose search engine ranking by changing them and, more importantly, I have too many other things to work on).
I am not an expert -- below is what I've tried and what works for me. Please don't ask me to explain it.
Everything below involves adding a line or two to your .htaccess file.
Here is what one host ( http://simolyhosting.net ) support did for me in 2008 -- but it no longer works for me now.
AddHandler application/x-httpd-php5 .html .htm
AddType application/x-httpd-php5 .htm .html
That solution appears to be deprecated now, though it might work for you.
Here's what's working for me now:
AddType application/x-httpd-lsphp .htm .html
(This page has PHP code that executes properly with the above solution -- http://mykindred.com/bumstead/steeplehistory.htm )
Below are other solutions I found -- they are NOT MINE:
https://forums.cpanel.net/threads/cant-execute-php-in-html-since-ea4-upgrade.569531
I'm seeing this across many servers I've recently upgraded to EA4. Using cPanel Apache handlers or adding this directly in to .htaccess (same as cPanel does through gui add handlers):
AddHandler application/x-httpd-php5 .html
Sep 9, 2016
AddHandler application/x-httpd-ea-php56 .html
https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/php-c37728/parsing-php-code-within-html-pages-a602364.html
Open a text editor such as wordpad, notepad, nano, etc. and add the following line:
AddHandler x-mapp-php5 .html .htm
If you want to use PHP 5.4 instead of PHP 5.2 then use the following line instead:
AddHandler x-mapp-php6 .html .htm
https://www.godaddy.com/community/Developer-Cloud-Portal/Running-php-in-html-files/td-p/2776
To run HTML using FastCGI/PHP, try adding this code to the .htaccess file for the directory the script is in:
Options +ExecCGI
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
You can add additional lines for other file extensions if needed.
You need to make the extension as .php to run a php code
BUT if you can't change the extension you could use Ajax to run the php externally and get the result
For eg:
<html>
<head>
<script src="js/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url:'php_File_with_php_code.php',
type:'GET',
data:"parameter=some_parameter",
success:function(data)
{
$("#thisdiv").html(data);
}
});
});
</script>
</head>
<body>
<div id="thisdiv"></div>
</body>
</html>
Here, the JQuery is loaded and as soon as the pages load, the ajax call a php file from where the data is taken, the data is then put in the div
Hope This Helps
I'm not sure if this is what you wanted, but this is a very hackish way to include php. What you do is you put the php you want to run in another file, and then you include that file in an image. For example:
RunFromHTML.php
<?php
$file = fopen("file.txt", "w");
//This will create a file called file.txt,
//provided that it has write access to your filesystem
fwrite($file, "Hello World!");
//This will write "Hello World!" into file.txt
fclose($file);
//Always remember to close your files!
?>
RunPhp.html
<html>
<!--head should be here, but isn't for demonstration's sake-->
<body>
<img style="display: none;" src="RunFromHTML.php">
<!--This will run RunFromHTML.php-->
</body>
</html>
Now, after visiting RunPhp.html, you should find a file called file.txt in the same directory that you created the above two files, and the file should contain "Hello World!" inside of it.
<?php
echo '<p>Hello World</p>'
?>
As simple as placing something along those lines within your HTML assuming your server is set-up to execute PHP in files with the HTML extension.

Cannot parse php inside html

I've been beating myself up trying to get my php parse inside my html. I have used the following in my .htaccess to no avail.
AddType application/x-httpd-php .html - a dialog box pops up asking me to open a php file
AddType application/x-httpd-php5 .html - Same
AddHandler application/x-httpd-php .html - Same
AddHandler php-script .html - just doesnt parse but looking into the source code you can see the php
AddHandler php5-script .html - Same
I would like to point out as well that a normal .php file runs fine on the server.
What gives?
You have to change your server configuration. Go into your httpd.conf or .htaccess and change this line (or something close to it):
addtype application/x-httpd-php .php
to parse .html files like this:
addtype application/x-httpd-php .php .html
and then restart the server
Nevermind, figured it out. It has something to do with my doctype. short_open_tag is enabled so php is trying to parse because it thinks its php.
Solution:
Need to print that particular line with proper php syntax
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"; ?> ?>

PHP code is just comment on my html

For some reason my code is just comment in my html.
I have tried using localhost/filename.html etc
and nothing seems to work...
Thank you!
<html>
<body>
<?php
echo "hello world";
?>
</body>
</html>
If you are running apache you could add the following in your .htaccess file to process .html files as they were php:
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
Here are a couple of links further explaining the useage of .htaccess files:
http://httpd.apache.org/docs/1.3/howto/htaccess.html
http://www.htaccess-guide.com/

How Do I enable PHP to be shown on HTML webpage?

I have been searching on forums and google for hours with no definitive answer other than "Your host may not support PHP". I have dumbed down my PHP page to simply display some text for testing purposes but I am still only getting a blank webpage. I have tried opening it locally into a browser and also through the web server, same result for both. Anyone have an idea as to why this simple PHP wont even show up on the webpage?
<?php
echo "Show some text";
?>
also tried:
<html>
<?php
echo "Show some text";
?>
</html>
What is the filename of your file? Is the file extension a .html file, or a .php file? If it's .html, rename it to .php and test with your first test again.;
To check and see if php is supported on your server, create another file titled: phpinfo.php and insert the following code in it:
<?php
phpinfo();
?>
and save it, and then go to it on your server. You should see the PHP configuration output on that page. If it doesn't work, then you do not have PHP correctly installed on your server.
Your file must be ending in .phtml or .php to make PHP work on a HTML page.
index.php
<?php
echo "Hello World!";
?>
Or you can trick your server, Apache and Nginx support this as does IIS. Basically you can have "index.x" or "index.px" - your own custom extension, it is not advisable for obvious reasons. In Apache (your public_html folder) enable this in your .htaccess file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .ac1d
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .x
# your custom extension above.
To view the source of everything (no processing):
Most server are setup with a source-viewing format already by changing the file name to use the .phps extension. If not, you'd have to create a .htaccess file and temporarily add this line to it:
AddType text/plain .php
AddType text/plain .html
That should force the files to be displayed as plain text whenever they're accessed. Just remember to remove it later.

Categories