এইচটিএমএল (.html) ফাইলগুলিতে আমি কীভাবে পিএইচপি কোড / ফাইল যুক্ত করব?


98

আমি আমার HTML পৃষ্ঠাগুলিতে পিএইচপি ব্যবহার করতে পারি না। উদাহরণস্বরূপ index.html,। আমি উভয় ব্যবহার করার চেষ্টা করেছি:

<? contents ?> 

এবং

<?php contents ?> 

এই কাজগুলির কোনোটাই নয়। আমার সার্ভারটি পিএইচপি প্রস্তাব দেয় এবং আমি যখন কোনও .phpএক্সটেনশন ব্যবহার করি তখন এটি সঠিকভাবে কাজ করে। এটি কি সমস্যা বা আমার পছন্দগুলি পরিবর্তন করতে হবে php.ini?


4
এইচটিএমএল ফাইলগুলিকে পিএইচপি হিসাবে পরিবেশন করতে আপনাকে আপনার সার্ভারটি পরিবর্তন করতে হবে (আমি ধরেছি অ্যাপাচি), তবে আপনি কেন পিএইচপি এর পরিবর্তে এই এক্সটেনশনটি এইচটিএমএল করতে চান?
বিস্ফোরণ বড়ি


@ এক্সপ্লোশনপিলস আমি এটি আইআইএস ভি 7 ব্যবহার করে সম্পন্ন করেছি! এবং এটি সম্ভব!
পূর্বাবস্থায়

@ মৃত্যুর অর্থ এই বোঝাতে চাইনি যে এটি কেবল আপাচি দিয়েই করা যায় , আমি কেবল ধরে নিয়েছিলাম তিনি অ্যাপাচি ব্যবহার করছেন।
বিস্ফোরণ বড়ি

4
কি ভয়াবহ ধারণা। আপনার এসইও সংরক্ষণ করতে পুনঃনির্দেশগুলি ব্যবহার করুন। এইচটিএমএল এর জন্য .html এবং পিএইচপি জন্য। Php ব্যবহার করুন।
এলিয়েন টেকনোলজি

উত্তর:


143

আপনি এইচটিএমএল ফাইলগুলিতে পিএইচপি চালাতে পারবেন না কারণ আপনি যদি না বলেন সার্ভারটি বৈধ পিএইচপি এক্সটেনশন হিসাবে স্বীকৃতি দেয় না। এটি করার জন্য আপনাকে আপনার মূল ওয়েব ডিরেক্টরিতে একটি .htaccess ফাইল তৈরি করতে হবে এবং এটিতে এই লাইনটি যুক্ত করতে হবে:

AddType application/x-httpd-php .htm .html

এটি অ্যাপাচি কে পিএইচপি ফাইল হিসাবে একটি .htm বা .html ফাইল এক্সটেনশান সহ ফাইলগুলি প্রক্রিয়া করতে বলবে।


15
যদিও এটি সঠিক আমি মনে করি আরও একটি গুরুত্বপূর্ণ প্রশ্ন হ'ল কেন এটি করা হয়? তদুপরি, তার .htaccessবিকল্পটি ব্যবহারের পরিবর্তে সার্ভার কনফিগারেশন আপডেট করা উচিত ।
বিস্ফোরণ বড়ি

11
আমি যে আমি (অন্যান্য বিষয়ের ছাড়াও) পিএইচপি ব্যবহার করছি লুকাতে অনেক অনুষ্ঠান উপর এই কাজ করেছি
nickb

4
@ নিকব - অস্পষ্টতার মধ্য দিয়ে সুরক্ষা?
নাথান লং

4
@ নাথানলং w3.org/TR/cooluris বিশেষত "বাস্তবায়ন-নির্দিষ্ট বিট এবং টুপি যেমন আপনার ইউআরআই থেকে .php এবং .asp রাখুন, আপনি পরে প্রযুক্তি পরিবর্তন করতে চাইতে পারেন।" বিভাগে 4.5।
এরিক ফিন 20

4
@ এরিকফিন - এটি একটি ভাল গাইডলাইন। তবে সার্ভার প্রক্রিয়া .htmlফাইলগুলি পিএইচপি হিসাবে থাকা, এটি অনুসরণ করার জন্য এমনকি প্রয়োজনীয় বা সহায়ক নয়। আপনি ব্যবহারকারীদের যেতে চান example.com/foo। আপনি আপনার সার্ভারে ফাইলের নাম নির্বিশেষে পিএইচপি সামগ্রী সরবরাহ করতে সেই URL টি ব্যবহার করতে পারেন। যদি ব্যবহারকারীরা ইতিমধ্যে foo.htmlবুকমার্ক করে থাকেন তবে আপনি foo.phpফাইলটির নাম পরিবর্তন না করেই পরিবেশন করতে পারেন ।
নাথান লং

20

আমি মনে করি পিএইচপি একটি .html ফাইলে লেখা বিভ্রান্তিকর এবং প্রাকৃতিক বিরোধী। তুমি ওটা কেন করবে??

যাইহোক, আপনি যা চান পিএইচপি ফাইলগুলি সম্পাদন করা এবং এড্রেস বারে .html হিসাবে দেখাতে চাইলে একটি সহজ সমাধান .php স্বাভাবিক হিসাবে ব্যবহার করা হবে এবং আপনার .htaccess এ একটি নিয়ম লিখুন:

RewriteRule ^([^.]+)\.html$ $1.php [L]

আমি যদি পিএইচপি + এইচটিএমএল ব্যবহার করি? আমার কোন ফর্ম্যাটটি ব্যবহার করা উচিত? আমি বেশ বিভ্রান্ত আমার পৃষ্ঠায় পিএইচপি ভিত্তিক সংক্ষিপ্ত কোড রয়েছে এবং এইচটিএমএলে অনেকগুলি কোড রয়েছে। সুতরাং আমি যা করতে যাচ্ছি তা হল একটি HTML ফাইল তৈরি করা file এটা কি খারাপ অভ্যাস?
হুন

4
এইচটিএমএল ফাইলগুলি কেবল এইচটিএমএল কোড ধারণ করার উদ্দেশ্যে তৈরি করা হয়েছে, ফর্ম্যাটটি .php হওয়া উচিত।
ডেভিড মোরালেস

15

.Html ফাইলগুলিতে পিএইচপি ব্যবহার করার জন্য, আপনাকে অবশ্যই তাদের এইচটিটিপি সার্ভারের কনফিগারেশন ফাইলে আপনার পিএইচপি প্রসেসরের সাথে যুক্ত করতে হবে। অ্যাপাচে, এটি দেখতে দেখতে:

AddHandler application/x-httpd-php .html

আপনি AddHandlerএবং এর মধ্যে পার্থক্য মন্তব্য করতে যত্ন নিতে হবে AddType? ধন্যবাদ
প্যাট্রিকটি

4
@ পেট্রিকটি তুলনা করার সহজ উপায় হ'ল অ্যাডহ্যান্ডলার একটি "ইনপুট" ম্যাপিং - এটি কোনও হ্যান্ডলারের কাছে আগত ফাইল এক্সটেনশানকে মানচিত্র করে। অ্যাডটাইপ আউটপুট MIME টাইপ শিরোনাম পরিবর্তন করে। এখানে নোটটি দেখুন: httpd.apache.org/docs/2.4/mod/mod_mime.html#addtype
ক্রিস

13

অন্যরা যেমন বলেছেন, আপনি .htaccess পরিবর্তন করতে পারেন, তবে দ্রুততম সমাধানটি ফাইলের এক্সটেনশনটির নাম .php এ পরিবর্তন করতে হবে to


আপনি
.ptml

9

এই লাইন যুক্ত করুন

AddHandler application/x-httpd-php .html

আপনি httpd.confযা করতে চান তার জন্য ফাইল করতে। তবে মনে রাখবেন, আপনি যদি এটি করেন তবে আপনার ওয়েব সার্ভারটি খুব ধীর হবে, কারণ এটি এমনকি স্ট্যাটিক কোডকেও পার্স করবে যেখানে পিএইচপি কোড থাকবে না। সুতরাং আরও ভাল উপায় হ'ল ফাইলটির .phtmlপরিবর্তে ফাইলটি বাড়ানো .html


4
দয়া করে মনে রাখবেন আপনার পুরো উত্তরটি সাহসের সাথে লিখবেন না।
ডেভিড মোরালেস

7

থাকার জন্য .htmlপাশাপাশি পার্স ফাইল, আপনি আপনার সার্ভারে কনফিগ যথাযথ হ্যান্ডলার সেট করতে হবে।

অ্যাপাচি httpd 2.X এর জন্য এটি নিম্নলিখিত লাইন

AddHandler application/x-httpd-php .html

আপনার নির্দিষ্ট সার্ভার ইনস্টলেশন সম্পর্কিত তথ্যের জন্য পিএইচপি ডকুমেন্টটি দেখুন ।


6

ডিফল্টরূপে আপনি এইচটিএমএল পৃষ্ঠাগুলিতে পিএইচপি ব্যবহার করতে পারবেন না।

এটি করতে, আপনার .htacccess ফাইলটি নিম্নলিখিতগুলির সাথে সংশোধন করুন:

AddType application/x-httpd-php .html

4

যদি আপনার কেবলমাত্র একটি এইচটিএমএল ফাইলে পিএইচপি কোড থাকে তবে অন্য একাধিক ফাইল রয়েছে যা কেবলমাত্র এইচটিএমএল কোড ধারণ করে, আপনি নিম্নলিখিতটি আপনার .htaccess ফাইলে যুক্ত করতে পারেন যাতে এটি কেবলমাত্র সেই নির্দিষ্ট ফাইলটিকে পিএইচপি হিসাবে পরিবেশন করতে পারে।

<Files yourpage.html>
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher
</Files>

এটি পিএইচপি কেবলমাত্র "আপনার পৃষ্ঠার এইচটিএমএল" ফাইলে কার্যকর করতে সক্ষম হবে এবং আপনার সমস্ত এইচটিএমএল পৃষ্ঠায় নয় যা আপনার পুরো সার্ভারে মন্দা রোধ করবে।

এইচটিএমএল ফাইলের মাধ্যমে কেন কেউ পিএইচপি পরিবেশন করতে চাইতে পারে, আমি গুগল স্প্রেডশিটগুলিতে আইএমআরপিটিএমএল ফাংশনটি ব্যবহার করি বাহ্যিক ইউআরএল থেকে জেএসএন ডেটা আমদানি করার জন্য এটি পিএইচপি দিয়ে বিশ্লেষণ করা আবশ্যক এটি পরিষ্কার করতে এবং এইচটিএমএল টেবিল তৈরি করতে। এখন পর্যন্ত আমি গুগল স্প্রেডশীটে একটি পিএইচপি ফাইল আমদানির কোনও উপায় খুঁজে পাইনি সুতরাং এটি ফাংশনটি কাজ করার জন্য এটি একটি html ফাইল হিসাবে সংরক্ষণ করতে হবে। এইচটিএমএল ফাইলের মাধ্যমে পিএইচপি পরিবেশন করতে সক্ষম হওয়া সেই নির্দিষ্ট ব্যবহারের জন্য প্রয়োজনীয়।


খুব ব্যবহারিক।
কোয়ান্টেম

4

নোটপ্যাড ব্যবহার করে একটি খালি ফাইল তৈরি করুন এবং এর নাম দিন। Htaccess, তারপরে আপনার প্রকল্প ডিরেক্টরিতে সেই ফাইলটি অনুলিপি করুন এবং এই লাইনটি যুক্ত করুন এবং সংরক্ষণ করুন।

AddType application/x-httpd-php .htm .html

অন্যথায় .html ফাইলটি পিএইচপি হিসাবে পিএইচপি ব্যবহার করে এইচটিএমএল সমর্থন করতে পারে এবং এটি কম্পিউটার / ভার্ / www / এইচটিএমএল পাথে সংরক্ষণ করতে পারেন (লিনাক্স)


4
যারা .htaccess ফাইল কীভাবে তৈরি করবেন তাও জানেন না তাদের বিবেচনা করার জন্য আপনাকে ধন্যবাদ।
কোয়ান্টেম

0

এজ্যাক্সও সম্ভাবনা। কার্যকরভাবে আপনি পিএইচপি পৃষ্ঠা থেকে ডেটা চাইবেন। আপনার কাছে ডেটা হয়ে গেলে আপনি জাভাস্ক্রিপ্ট এবং ডিসপ্লেতে যে কোনও উপায়ে ফর্ম্যাট করতে পারেন।

var xmlhttp = new XMLHttpRequest();
var url = "risingStars.php";

xmlhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        getDbData(this.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();


function getDbData(response) {

//do whatever you want with respone
}

0

আধুনিক পর্যালোচনা: আপনাকে এখন পিএইচপি-এফএম-তে এটি স্বল্প পরিচিত '' সিকিউরিটি.লিট_ এক্সটেনশানস 'পরিবর্তন করেও এটি ঠিক করতে হবে। অ্যাডহ্যান্ডলার / অ্যাডটাইপটিতে অ্যাপাচি পরিবর্তন করার ভাল নথিবদ্ধ প্রক্রিয়াটি আপনি ইতিমধ্যে জানবেন আমি এখানে এ যাব না।

  1. পিএইচপি-এফএম / কনফারেন্স আপনার সেটআপে রয়েছে তা খুঁজে বের করতে হবে। আমি এটা করে এটা করেছি

    # grep -rnw '/etc/' -e 'security.limit_extensions'

  2. আমি এই ফিরে পেয়েছিলাম

    '/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'

  3. এই ফাইলে যান, এডিট করুন এবং নিশ্চিত করুন যে আপনি এটি বাস্তবায়িত করেছেন এটি EG এর বাইরে রয়েছে: এটিকে পরিবর্তন করুন ';security.limit_extensions = .php .php3 .php4 .php5 .php7'<- এনবি: দ্রষ্টব্য ";"- এই লাইনটি ডিফল্টরূপে অক্ষম করা হয়েছে - এবং আপনার সমস্ত বোকা এক্সটেনশনগুলির প্রয়োজন নেই, বাস্তবে তারা হ'ল সম্ভবত বিপজ্জনক .. এটিতে পরিবর্তন করুন 'security.limit_extensions = .php .htm'<- নোট করুন এখন আধা কোলন সরানো হয়েছে। তারপরে অ্যাপাচি / (বা এনজিনেক্স) পুনরায় চালু করুন এবং পিএইচপি-এফএমপি পুনরায় চালু করুন# service php-fpm restart # service httpd restart


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.