পিএইচপি কোড কার্যকর করা হচ্ছে না, পরিবর্তে পৃষ্ঠায় কোড শো হয়


319

আমি একটি প্রকল্পে কিছু পিএইচপি কোড কার্যকর করার চেষ্টা করছি (ড্রিমউইভার ব্যবহার করে) তবে কোডটি চালানো হচ্ছে না।

আমি যখন উত্স কোডটি যাচাই করি, পিএইচপি কোডটি এইচটিএমএল ট্যাগ হিসাবে উপস্থিত হয় (আমি এটি উত্স কোডটিতে দেখতে পারি)। অ্যাপাচি সঠিকভাবে চলছে (আমি এক্সএএমপিপি দিয়ে কাজ করছি), পিএইচপি পৃষ্ঠাগুলি সঠিকভাবে খোলা হচ্ছে তবে পিএইচপি কোডটি কার্যকর হচ্ছে না।

কি ঘটছে সে সম্পর্কে কারও কি পরামর্শ আছে?

দ্রষ্টব্য: ফাইলটির নাম ইতিমধ্যে হিসাবে দেওয়া হয়েছেfilename.php

সম্পাদনা: কোড ..:

<?
include_once("/code/configs.php");
?>

প্রিন্ট


44
আপনি কি এর <?পরিবর্তে শর্ট ট্যাগ ব্যবহার করছেন <?php?
ড্যান গ্রসম্যান

28
কখনও ছোট ট্যাগ ব্যবহার করবেন না। ( <?)। এগুলি অবমূল্যায়ন করা হয়েছে, অনেক জায়গায় সত্যিই কাজ করবেন না এবং অন্যথায় সম্পূর্ণ অযৌক্তিক। তিনটি কীস্ট্রোক সংরক্ষণ করা আপনার কোডটির পক্ষে চালিত হতে পারে এমন অর্ধেক সার্ভারের ব্যর্থতার সম্ভাবনা মঞ্জুর করার বৈধ কারণ নয়।
মপসাইড

10
@ মোপসিড কোথায় এটি বলে যে সংক্ষিপ্ত ট্যাগগুলি হ্রাস করা হয়? দয়া করে মনে রাখবেন সংক্ষিপ্ত ট্যাগ মত নয় সংক্ষিপ্ত প্রতিধ্বনি ট্যাগ , এবং সংক্ষিপ্ত প্রতিধ্বনি ট্যাগ পিএইচপি 5.4 যেহেতু ডিফল্ট দ্বারা সমর্থিত হয়েছে, নির্বিশেষে short_open_tagসেটিং।
কাইল অ্যান্ডারসন

5
আমি সচেতন যে সংক্ষিপ্ত ট্যাগগুলি সংক্ষিপ্ত প্রতিধ্বনি ট্যাগ নয়, এ কারণেই আমি মন্তব্যটিতে কোনটি সম্পর্কে কথা বলছিলাম তা উল্লেখ করেছি। লেখার সময়, পিএইচপি 6 রিলিজের জন্য ছোট ট্যাগগুলি অবচয় হিসাবে চিহ্নিত করা হয়েছিল, যদিও এর পরে দৃশ্যত এটি পরিবর্তিত হয়েছে। সমস্যাটি এখনও বিদ্যমান রয়েছে যে প্রচুর সার্ভারগুলি সেগুলি অক্ষম করেছে, যা আপনার কোডকে উল্লেখযোগ্যভাবে কম পোর্টেবল করে তোলে। এটি সংক্ষিপ্ত প্রতিধ্বনি ট্যাগগুলিতে প্রয়োগ হয় না ( <?=), যা সার্ভার সেটিংস নির্বিশেষে পিএইচপি 5.4+ তে জরিমানা চলতে হবে।
মপসাইড

3
সংক্ষিপ্ত ট্যাগ সম্পর্কে মূর্খ কথা। দীর্ঘ ট্যাগগুলি স্তন্যপান করে এবং তারা কদর্য। আমার পিএইচপি প্রোগ্রামিংয়ের 10 বছরের মধ্যে কখনও সমস্যা হয়নি। এগুলি প্রায়শই সমস্যা নয়
ড্যানিয়েল

উত্তর:


417

আপনার কনফিগারেশনটিতে কিছু ভুল আছে বলে মনে হচ্ছে, এখানে কয়েকটি জিনিস যাচাই করতে পারেন:

  1. নিশ্চিত করুন যে পিএইচপি ইনস্টল হয়েছে এবং সঠিকভাবে চলছে running এটি নির্বাক শোনায় তবে আপনি কখনই জানেন না। একটি চেক করার সহজ উপায় হ'ল php -vএকটি কমান্ড লাইন থেকে চালানো এবং দেখুন সংস্করণ সম্পর্কিত তথ্য বা কোনও ত্রুটি ফিরে আসে কিনা।

  2. আপনার আপাচের httpd.conf এর ভিতরে পিএইচপি মডিউলটি তালিকাবদ্ধ এবং নিরবিচ্ছিন্ন রয়েছে তা নিশ্চিত করুন LoadModule php5_module "c:/php/php5apache2_2.dll"এটি ফাইলের মতো কিছু হওয়া উচিত । অনুসন্ধান করুন LoadModule phpএবং নিশ্চিত করুন যে ;এর সামনে কোনও মন্তব্য ( ) নেই ।

  3. নিশ্চিত হোন যে আপাচের httpd.conf ফাইলটিতে পিএইচপি মাইম টাইপ রয়েছে। এটির মতো কিছু হওয়া উচিত AddType application/x-httpd-php .php। এটি অ্যাপাচি .phpকে পিএইচপি হিসাবে ফাইল চালাতে বলে । অ্যাডটাইপ অনুসন্ধান করুন এবং তারপরে নিশ্চিত করুন যে পিএইচপি-র জন্য কোনও এন্ট্রি রয়েছে এবং এটি নিরবিচ্ছিন্ন

  4. আপনার ফাইলটিতে .phpএক্সটেনশন রয়েছে কিনা তা নিশ্চিত করুন , বা মাইম সংজ্ঞাতে # 3 পয়েন্টে যে কোনও এক্সটেনশান নির্দিষ্ট করা হয়েছে, অন্যথায় এটি পিএইচপি হিসাবে কার্যকর হবে না।

  5. নিশ্চিত করুন যে আপনি পিএইচপি ফাইলে সংক্ষিপ্ত ট্যাগ ব্যবহার করছেন না ( <?), এটি ডিফল্টরূপে সমস্ত সার্ভারে সক্ষম নয় এবং তাদের ব্যবহার নিরুত্সাহিত। ব্যবহার করুন <?phpপরিবর্তে (বা আপনার php.ini স্বল্প ট্যাগ সক্ষম সঙ্গে short_open_tag=Onযদি আপনি কোড যে তাদের উপর নির্ভর করে থাকে)।

  6. http://localhost/file.phpস্থানীয় ফাইল অ্যাক্সেসের মাধ্যমে নয় এমন একটি ইউআরএল ব্যবহার করে আপনি নিজের ওয়েবসভারের মাধ্যমে আপনার ফাইলটি অ্যাক্সেস করছেন তা নিশ্চিত করুনfile://localhost/www/file.php

এবং শেষ পর্যন্ত আরও সেটআপ টিপসের জন্য পিএইচপি ম্যানুয়ালটি পরীক্ষা করে দেখুন ।


14
কেন জানি না, তবে পিএইচপি 5.3.15 এর ইনস্টলারটি লাইন যুক্ত করে না AddType application/x-httpd-php .php। অনেক ধন্যবাদ!!
মতুডুক

7
@ শ্মিপস: আপনি কোথায় দেখেছেন যে ছোট ট্যাগগুলি হ্রাস করা হয়েছে? আমি কিছু অনুসন্ধান করেছি এবং কেবলমাত্র তাদের বিরুদ্ধে প্রস্তাবনা পেয়েছি, অবচয় সম্পর্কে কিছুই নয়। বিতরণ করতে হবে এমন অ্যাপ্লিকেশনগুলির জন্য মঞ্জুর যে হোস্টিং সার্ভারটি সক্ষম না করে থাকলে <? পিএইচপি ব্যবহার করা ভাল, তবে যে অ্যাপ্লিকেশনগুলিতে আপনি যে সার্ভারটিতে যাচ্ছেন সেটার উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ রয়েছে এমন অ্যাপগুলির জন্য আমি না এগুলি ব্যবহার না করার কোনও কারণ দেখুন।
ক্লারকিবয়

3
6 নং পয়েন্টটি আমার জন্য কাজ করেছে .. লোকাল অ্যাক্সেস
অ্যাপাচি

6
পয়েন্ট 2 আমার জন্য নিরাপদ পথে কাজ করেছে -apt-get purge apache2; apt-get install apache2 libapache-mod-php5
উলকাস

1
@ ফুল_প্রগ_ফুল .phpবিষয়বস্তু সহ একটি এক্সটেনশান সহ কোনও ফাইল আপলোড করার চেষ্টা করুন <?php echo("Success"); ?>এবং দেখুন কোনও ওয়েব ব্রাউজারের মাধ্যমে ফাইল অ্যাক্সেস করার সাথে সম্পর্কিত পিএইচপি কোড ব্যতীত "সাফল্য" ফলাফল প্রদর্শিত হবে কিনা see
shmeeps

61

পিএইচপি 7:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart

24
যদিও এই কোড স্নিপেট প্রশ্নটি সমাধান করতে পারে, কীভাবে এবং কেন এটি সমস্যার সমাধান করে তার ব্যাখ্যা সহ আপনার পোস্টের মান উন্নত করতে সহায়তা করবে । মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, কেবল এখনই জিজ্ঞাসা করা ব্যক্তি নয়! দয়া করে ব্যাখ্যা যুক্ত করতে আপনার উত্তর সম্পাদনা করুন, এবং কোন সীমাবদ্ধতা এবং অনুমানগুলি প্রযোজ্য তা একটি ইঙ্গিত দিন।
টবি স্পিড

4
এই উত্তরটি লিনাক্স সম্পর্কিত টপিক স্টার্টার স্পষ্টভাবে উইন্ডোজ ব্যবহার করছে।
রেমন্ড নিলল্যান্ড

3
@ রেমন্ডনিজল্যান্ড সত্য তবে এটি প্রচলিত এবং আমি এই প্রশ্নটি পেয়েছি এবং এটি সমস্যা সমাধানের এক ঘন্টা পরে আমাকে বাঁচিয়েছে।
গুজ

কীভাবে এবং কেন: পিএইচপি 7 যখন মেক স্ক্রিপ্টে ডিফল্ট দ্রুত-সিজিআই পরিষেবা কনফিগার করে না তখন এটি ঘটে। একইভাবে sudo a2enmod proxy_fcgi setenvifতিনটি নতুন মোড তৈরি করে, একটি কনফিগার ফাইল তৈরি করে এটি তৈরি হয়ে গেলে এবং অ্যাপাচি 2 পিএইচপি 7 মডিউলটিকে দ্রুত-সিজিআই পরিষেবা হিসাবে চালাতে পারে। /mods-available/proxy.conf proxy_fcgi.load proxy.loadsudo a2enconf php7.0-fpm/conf-available/php7.0-fpm.conf
তালভি ওয়াটিয়া

33

আমি উবুন্টুতে অ্যাপাচি চালাচ্ছি এবং আমার সমস্যাটি হ'ল /etc/apache2/mods-available/php5.confফাইলটি এটি অনুপস্থিত ছিল:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

আমি এটিকে আবার যুক্ত করেছিলাম এবং পিএইচপি পিএইচপি ফাইলগুলি সঠিকভাবে পার্স করছিল।


31

পিএইচপি 7 ব্যবহারকারীদের জন্য নোট করুন, এটি আপনার httpd.conf ফাইলে যুক্ত করুন:

# PHP 7 specific configuration
<IfModule php7_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

4
এই সমস্যাটি নিয়ে কেবল অন্য ব্যক্তিকে সহায়তা করার জন্য। httpd.confফাইলের মধ্যে অবস্থিত /etc/apache2/httpd.confআপনি উবুন্টু ব্যবহার করেন, তাহলে এটি হবে apache2.confএকই ডিরেক্টরির মধ্যে যে চাহিদা PHP7 জন্য পরিবর্তিত হতে পারে।
আহমেদ সাগরওয়ালা

23

আমি এই সমস্যাটি সৃষ্টি করার জন্য আরও একটি সমস্যা পেয়েছি এবং এটি ইতিমধ্যে সমাধান করেছি। আমি দুর্ঘটনাক্রমে UTF-16এনকোডিংয়ে আমার স্ক্রিপ্টটি সংরক্ষণ করেছি । দেখে মনে হচ্ছে পিএইচপি 5 <?phpডিফল্টভাবে 16 বিট এনকোডিংয়ে ট্যাগটি সনাক্ত করতে পারে না ।


18

আমি এই উত্তরটি পোস্ট করছি কারণ আমার ভার্চুয়ালমিন / ওয়েবমিন অ্যাডমিন ইন্টারফেস সিদ্ধান্ত নিয়েছে যে আমার পিএইচপি ইঞ্জিনটি নিষ্ক্রিয় করা ভাল ধারণা ছিল .. সমাধানটি পেতে আমাকে কিছুটা সময় নিয়েছে, তাই আমি ভেবেছিলাম যে এটি আপনার সাথে ভাগ করে নিচ্ছি:

এছাড়াও, আপনার সুনির্দিষ্ট হোস্ট বা ভার্চুয়ালহোস্ট সম্পর্কিত কোনও ওয়েবসাইট কনফিগারেশন ফাইলের মধ্যে এইচপিপি বন্ধ করে দেওয়ার মতো কোনও পিএইচপি_এডমিন_ভ্যালু নেই তা পরীক্ষা করে দেখুন:

php_admin_value engine Off

সন্দেহ হলে মন্তব্য করুন ...

# php_admin_value engine Off

এবং আপনার ওয়েবসারভারটি পুনরায় চালু করুন।


1
এই কনফিগারেশন সেটিংস ঠিক কোথায়?
ক্রোনোকলি

2
@ ক্রোনোকলি httpd.conf এর vHost সেটিংসে। বিদ্যমান হোস্টগুলির জন্য, আপনাকে ওয়েবমিনে অ্যাপাচি কনফিগারেশন সম্পাদনা করতে হবে। ভবিষ্যতের হোস্টগুলির জন্য, ভার্চুয়ালমিন> সার্ভার টেম্পলেট> অ্যাপাচি ওয়েবসাইটে যান। যাইহোক, এটি ফাস্টসিগি - ভার্চুয়ালমিনের ডিফল্ট হিসাবে নিরাপদ নয়। সুতরাং fcgi কেন কাজ করে না তা সমস্যা সমাধানের জন্য সঠিক পদ্ধতির হওয়া উচিত, উদাহরণস্বরূপ এটি ফাইল অনুমতিগুলির কারণে হতে পারে।
শেপি

আপনি যদি অ্যাপাচি এর এমন কোনও সংস্করণ ব্যবহার করছেন যাতে httpd.conf নেই, /etc/apache2/mods-enabled/php7.confphp5.conf
স্যাম মালেক

যখন কোনও নির্দিষ্ট কনফিগারেশন সেটিংসের অবস্থান সম্পর্কে সন্দেহ হয়, আপনি সর্বদা sudo grep php_admin_value /etc/* -R
গ্রেপ

16

আপনি কেবল আপনার পিএইচপি ফাইলটি ব্রাউজারে খুলছেন। লোকালহোস্ট url ব্যবহার করে আপনাকে এটি খুলতে হবে open আপনি যদি সরাসরি আপনার ডিরেক্টরি থেকে একটি ফাইল খোলেন এটি কোনও ক্ষেত্রেই পিএইচপি কোডটি কার্যকর করে না।

ব্যবহার: http://locahost/index.phpবাhttp:127.0.0.1/index.php

পিএইচপি শর্ট কোড সক্ষম করুন। আপনার ক্ষেত্রে, আপনি <?পিএইচপি সংক্ষিপ্ত কোডটি ব্যবহার করছেন <?php। ডিফল্ট পিএইচপি সংক্ষিপ্ত কোডগুলি অক্ষম করা হয় are

এছাড়াও ব্যবহার করুন: sudo apt-get install php5 libapache2-mod-php5 php5-mcryptআপনি যদি উবুন্টু ব্যবহারকারী হন।


1
আমি যখন কেবল একটি ফাইল অন্তর্ভুক্ত করছি তখন কেন এমক্রিপ্ট দরকার? আপনার খেয়াল করা উচিত যে এই প্রশ্নটি পুরানো এবং ছোট প্রশ্নের ইস্যুটি আমার প্রশ্নের শীর্ষ মন্তব্যে 16 বার উল্লেখ করা হয়েছিল mentioned
গুই

1
আমি কেবল আমার সমাধানটি ভাগ করে দিচ্ছি, আমিও একই ত্রুটির মুখোমুখি হয়েছি এবং এমক্রিপ্টের এই আদেশটি কার্যকর করার পরে আমার সমস্যার সমাধান হয়েছে। আপনি চেষ্টা করতে পারেন।
হাসান বৈগ

ডিফল্ট পিএইচপি সংক্ষিপ্ত কোডগুলি সক্ষম করা হয়। short_open_tag পিএইচপি 5.6 মধ্যে = অন (ডিফল্ট মান = অন)
zond

এটি আমার সমস্যা ছিল, আমার ভার্চুয়ালমিন / অ্যাপাচি কনফিগারেশনটি 127.0.0.2 এর জন্য ছিল তবে আমি আমার বাহ্যিক আইপি ঠিকানাটি ব্রাউজারে রেখেছিলাম, আমি কেবল আমার ভি / একটি কনফিগারেশন আপডেট করেছি এবং এখন এটির কাজ করছে
হ্যাডেন থ্রিং

আমি সবেমাত্র লাইপাপাচ 2-মোড-পিএইচপি 7.3 মিস করছি।
dxvargas

8

আমি জানি এটি নির্বাক শোনা উচিত ... তবে খুব কমই ঘটে।

আপনি পিএইচপি চালানোর চেষ্টা করছেন কিনা তা পরীক্ষা করে দেখুন

**http://localhost/info.php**

এবং থেকে না

file:///var/www/info.php

PS> আপনি খেয়াল করতে পারেন যে আপনি যদি শেল থেকে লিখেন

php info.php 

এটি কোড দিয়ে উত্তর দেয় (এর অর্থ পিএইচপি ফাংশন) ..


পিএইচপি ভাল কাজ করে (কমান্ড লাইন ব্যবহার করে পরীক্ষা করা)। তবে, আমি যখন ইউআরএল ব্যবহার করে ফাইলটি অ্যাক্সেস করি তখন এটি পিএইচপি কোডটি দেখায়।
মুয়াজ

8

সার্ভারের সাথে এইচটিএমএল ফাইলগুলি প্রসেসিংয়ের পরিবর্তে ডাউনলোড করার সাথে সাথে এটি আমার আবার ঘটেছিল। আমি কম্পিউটারে কিছুক্ষণ ওয়েবসারভার অ্যাপাচি ব্যবহার করিনি এবং ইতিমধ্যে উবুন্টু ইনস্টলড এলটিএস থেকে আরও দুটি সংস্করণের মতো আপডেট হয়েছিল। এখন এটা

$ cat /etc/issue
Ubuntu 16.04 LTS

পিএইচপি এর মত কাজ করার পরে কাজ করেছে:

$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart 

ওয়েবসভারটি এখন পিএইচপি পার্স করছিল। সম্ভবত এখন পিএইচপি 7.0 থেকে কয়েকটি ওয়েব আপডেট করতে হবে যেখানে এখন পিএইচপি 5 চালানোর আগে যেমন ছিল তেমন চলছে। আচ্ছা ভালো.


5

আমি এক্সএএমপিপি আনইনস্টল করে এবং ডাব্লুএএমএপি ইনস্টল করে এটি সমাধান করেছি। সাহায্যের জন্য ধন্যবাদ.


আমি এক্সএ্যাম্প্প তবে এটি ঠিক আছে। আপনি কেন খুঁজে পেয়েছেন যে এটি পিপিএপি কোড @ গুই
পাই

5

আমি পিএইচপি 7.1 এ এই সমস্যার মুখোমুখি হয়েছি যা হাই সিয়েরা (ওএস এক্স 10.13.5) এর সাথে আসে, /etc/apache2/httpd.confনিম্নলিখিত পরিবর্তনগুলির সাথে সম্পাদনা সাহায্য করে:

  1. এই লাইন Uncomment

    LoadModule php7_module libexec/apache2/libphp7.so
  2. শেষে নিম্নলিখিত আটকান

    <IfModule php7_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    
        <IfModule dir_module>
            DirectoryIndex index.html index.php
        </IfModule>
    </IfModule>

একই মত আপনি প্লাম্প ওয়্যাম্প 3 সংস্করণ একই ত্রুটি প্রস্তাব করতে পারেন। সেখানে wamp 3. @AamirR কোন /etc/apache2/httpd.conf ফোল্ডারের পথ
জহর

এটি আমার জন্য কাজ করেছে !!! আমার আরও অদ্ভুত বিষয় ছিল। কিছু ফাইল পিএইচপি রেন্ডার করেছে এবং অন্যরা কোডটি প্রদর্শন করে না এবং করে।
sjw0525

4

আমার উবুন্টু ১৪.০৪, অ্যাপাচি ২.৪, পিএইচপি ৫.৫.৯ ইনস্টল, আমি / var / www / html (ডিফল্ট ডকুমেন্ট রুট) এ একটি নমুনা.এফপি দিয়ে চেষ্টা করেছি এবং এটি ঠিক আছে। সুতরাং সমস্যাটি আমার ভার্চুয়াল সার্ভারের কনফিগারেশনে ছিল। সমাধানটি ছিল। ডাব্লু। পিএফপি, এই লাইনটি অন্তর্ভুক্ত ডিরেক্টরি ডিফের মধ্যে অন্তর্ভুক্ত:

    php_admin_flag engine on

এবং আমার ভার্চুয়াল সার্ভারের httpd.conf এ অ্যাপাচি ফাইলটিতে এই লাইনটি আমি কোথায় যুক্ত করব? এবং আমি
ওয়েবমিন

3

আমার একই সমস্যা ছিল তবে আমার ক্ষেত্রে সমাধানটি আলাদা ছিল। আমার যে ফাইলটি অনুষ্ঠিত পিএইচপি কোড নাম ছিল "somename.html" থেকে এটি পরিবর্তন "somename.php" কাজ জরিমানা


এটি আমার জন্য এটিও সমাধান করেছে। Sever একটি .html ফাইলে পিএইচপি চালায় কিনা বা পিএইচপি একটি লাইন কার্যকর করতে হবে যখন ফাইলটি সর্বদা। পিএইচপি পরিবর্তন করতে হবে তা কি কেউ জানেন?
পূর্ণ_প্রজ_ফুল

সার্ভার সেটিংসের উপর নির্ভর করে, বেশিরভাগ ক্ষেত্রে পিএইচপি কোড যে কোনও ফাইলইচটিএমএল বিদ্যমান রয়েছে তা কার্যকর করে। এবং যদি এটি না হয় তবে এটি পরিবর্তন করা যেতে পারে, যদিও আইডিকে কীভাবে: পি
নেটরাস

3

এলএএমপি চলমান পিএইচপি 7 এর নতুন সেটআপের জন্য ফাইলটি /etc/httpd/conf/httpd.conf সম্পাদনা করুন দ্রষ্টব্য: কিছু পরিবর্তন করার আগে এটির জন্য ব্যাকআপ তৈরির বিষয়টি নিশ্চিত করুন।

ফাইলটির একেবারে নীচে এটি আটকান:

<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

তারপরে, লোডমডিউলটি অনুসন্ধান করুন এবং নীচের লাইনটি আটকে দিন:

LoadModule php7_module modules/libphp7.so

এই লাইনটি পিএইচপি 7 মডিউলটি লোড করতে কেবল httpd কে জিজ্ঞাসা করবে

তারপরে httpd পুনরায় চালু করুন


3

পিএইচপি-র জন্য আপনি যে সমস্ত প্যাকেজ ইনস্টল করেছেন তা পরীক্ষা করে দেখুন:

yum list installed | grep remi

আপনার মেশিনে সমস্ত প্রাসঙ্গিক পিএইচপি প্যাকেজ ইনস্টল করুন , বিশেষত পিএইচপি-ডেভেল


3

স্ক্রিপ্ট রয়েছে তা নিশ্চিত করুন

<?php

কার্যকর করা উচিত কোড আগে। এর মধ্যে <?এবং এর phpমধ্যে কোনও স্থান থাকা উচিত নয় ।


2

এটি আমার .htaccess এ ছিল

DirectoryIndex index.html index.htm

index.html পিএইচপি কোড ধারণ করে। ডিফল্টরূপে, পিএইচপি এইচটিএম * এর মতো পিএইচপি কোড হিসাবে এক্সটেনশন সহ ফাইলগুলি প্রক্রিয়া করবে না।

Htaccess এ নিম্নলিখিতটি যুক্ত করে আপনি এটি ওভাররাইড করতে পারেন:

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

1

আমি মনে করি ফলাফলের পরিবর্তে কোডটি দেখানো সমস্যাটি হ'ল এটি স্থানীয় হোস্টে যাচ্ছে না। আপনি কোন ঠিকানায় প্রবেশ করছেন তা যাচাই করে দেখুন u আপনি কোনও স্থানীয় ফাইল ডিরেক্টরিতে বা স্থানীয় হোস্টে যাচ্ছেন।

স্ক্রিনশট থেকে আপনি প্রেরণ করেছেন এটি আপনার কম্পিউটারে লোকালহোস্টে নয়।

"ফাইল: ///" এটি "লোকালহোস্ট /" হওয়া উচিত


1

mcryptমডিউলটি পুনরায় ইনস্টল করা আমার পক্ষে কাজ করেছিল।

$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt

এটি সত্যই হয়েছে, কারণ আমি আমার সিস্টেমে পিএইচপি সঠিকভাবে কনফিগার না করেছিলাম B তবে যেহেতু আমি একই সমস্যাটি সম্পর্কে জিজ্ঞাসা করেছি প্রশ্নটি এই প্রশ্নের সদৃশ হিসাবে চিহ্নিত হয়েছে, আমি কেবল এখানে উত্তর দিতে পারলাম। আমি ভাবছি কেন ডাউন ভোট?
বিজি

এই উত্তরটি বিষয় সম্পর্কিত যে লিনাক্স সম্পর্কিত তা উইন্ডোজ স্পষ্টভাবে ব্যবহার করছে
রেমন্ড নিজল্যান্ড

1

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

# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

নীচের লাইনটি রুটটিতে .htaccess ফাইলটি পরীক্ষা করে।


1

আপনার যদি এটির মতো কনফিগারেশন থাকে:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/example.com"

    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>

আপনার httpd.conf- এ পরবর্তী লাইনগুলিকে মন্তব্য করুন

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

এটা আমার জন্য কাজ করে


1

যোগ AddType application/x-httpd-php .phpআপনার httpd.conf ফাইলে যদি আপনি Apache 2.4 ব্যবহার করছেন


1

উইন্ডোজ 10 এ অ্যাপাচি 2.4 দিয়ে চালানোর জন্য পিএইচপি 5 পাওয়ার চেষ্টা করার কয়েক ঘন্টা ব্যয় করেছেন । অবশেষে আমার জন্য এটি ছিল একটি টাইপো httpd.conf LoadModuleDenny2018 এর এই এপাচেলঞ্জ থ্রেডের শেষ উত্তরের মাধ্যমে লেখার জন্য এবং সঠিক মডিউলটির দিকে মনোযোগ আকর্ষণ করেছেন । ধন্যবাদ!

দু'রাতের পরে আমি আবিষ্কার করলাম ... আমার ডিরেক্টরিটি লেখা হয়েছিল c:(লোয়ার কেস)

আমার কাছে LoadModule php5_module "c:/php/php5apache2.dll"তবে অ্যাপাচি ২.৪ এর জন্য সঠিক ছিল :

LoadModule php5_module "C:/php/php5apache2_4.dll"

সুতরাং আমি আগেরটিও মিস করেছি _4( অ্যাপাচি ২.৪ এর জন্য )। আমার জন্য কাজ করা সম্পূর্ণ স্নিপেট:

# PHP
LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

সবে পিএইচপি 7 চেষ্টা করেছেন । অ্যাপাচি ২.৪ এর জন্য httpd.confLoadModuleলাইনটি পড়ে

LoadModule php7_module "C:/php/php7apache2_4.dll"

বর্তমানে পিএইচপি ম্যানুয়াল দেখায় c:/php/php5apache2.dll যে কোনটি অবশ্যই সমন্বয় করা দরকার।


1

আমার ক্ষেত্রে (অ্যাপাচি / ২.৪.৩৪),

নির্দিষ্ট মডিউল uncommenting পরে

"লোডমোডুল পিএইচপি 7_মডিউল লিবেক্সেক / অ্যাপাচি 2 / লিবপ্প 7.so"

থেকে

"/Etc/apache2/httpd.conf"

আমার সমস্যা শেষ হয়ে গেল


1

ক্ষেত্রে আমরা একই পৃষ্ঠায় হয় নিম্নলিখিত করুন

sudo apt-get install php -y sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y

অ্যাপাচি 2 তে পিএইচপি 7.2 এফপিএম সক্ষম করতে:

a2enmod proxy_fcgi setenvif

a2enconf php7.2-fpm

আপডেট 2: অ্যাপাচি রেন্ডারিংয়ের পরিবর্তে। php ফাইল ডাউনলোড করে

এর পরে, আমি উপরের সমস্যার মুখোমুখি হয়েছি। সেখানে মত অনুরূপ প্রশ্ন আছে এই

আমি জানি না তবে এটি কেবল /var/www/html/রুট ফোল্ডারে আমার। Php ফাইলগুলির জন্য ঘটেছিল । সাব ডিরেক্টরি জন্য সবকিছু ঠিক ছিল। (উদাহরণস্বরূপ ওয়ার্ডপ্রেস এবং phpmyadmin ভাল কাজ করেছে)

সুতরাং এখানে আমার সমাধান। আমি পিএইচপি মডিউল সক্ষম করার সিদ্ধান্ত নিয়েছি। সুতরাং আমি এই আদেশ চালিয়েছি:

a2enmod php7.2

তবে আমি এই ত্রুটিগুলি পেয়েছি:

পিএইচপি 7.2 এর জন্য নির্ভরতা এমপিএম_প্রেফার্ক বিবেচনা করে: এমপিএম_প্রিফার্কের জন্য দ্বন্দ্বকে বিবেচনা করে এমপিএম_উইভেন্ট: ত্রুটি: মডিউল এমএমপিএইচটি সক্ষম হয়েছে - সংঘাতের কারণে এগিয়ে যেতে পারে না। এটি প্রথমে অক্ষম করা দরকার! এমপিএম_প্রফোয়ারের জন্য দ্বন্দ্ব এমপিএম_কর্মী বিবেচনা করে: ত্রুটি: পিএইচপি 7.2 এর জন্য নির্ভরতা এমএমএম_প্রফোর্ক সক্ষম করতে পারছে না, বাতিল করা হচ্ছে

সুতরাং আমি নিম্নলিখিত কমান্ডগুলি চালিয়ে এমএমপি অক্ষম করার সিদ্ধান্ত নিয়েছি:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

তারপরে অ্যাপাচি পুনরায় চালু করুন:

systemctl restart apache2

তারপরে php7.2 (আমার ইনস্টল করা সংস্করণ) সক্ষম করুন:

sudo a2enmod php7.2

এবং এখনই সবকিছু ঠিকঠাক কাজ করে।


0

এই সমস্যার আর একটি সম্ভাব্য কারণ হ'ল আপনি UserDirমডিউলটি থেকে "ব্যবহারকারী ডিরেক্টরিতে" স্ক্রিপ্টটি চালানোর চেষ্টা করছেন । ব্যবহারকারী ডিরেক্টরিতে পিএইচপি স্ক্রিপ্ট চালানো ডিফল্টরূপে অক্ষম। স্ক্রিপ্টটি public_htmlযদি আপনার হোম ফোল্ডারে ডিরেক্টরিতে থাকে এবং আপনি এটি থেকে অ্যাক্সেস করার চেষ্টা করছেন তবে আপনি এই সমস্যাটিতে চলে যাবেন http://localhost/~your_username

এটি ঠিক করার জন্য, খুলুন /etc/apache2/mods-enabled/php7.2.conf। আপনি পড়তে হবে নীচে ট্যাগ ব্লক মন্তব্য বা মুছে ফেলতে হবে

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

-1

আপনি যে ফাইলটি / var / www / html / এ রেখেছেন তাতে php forexample উদাহরণ.php থাকা উচিত যদি এটি উদাহরণস্বরূপ এটি কাজ করে না তবে আপনি যদি উদাহরণটিতে পরিবর্তন করেন ph php এটি কাজ করে।

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