কোন পিএইচপি ব্যবহার হচ্ছে তা কীভাবে নির্ধারণ করবেন?


10

কোন পিএইচপি ব্যবহার হচ্ছে তা কীভাবে নির্ধারণ করবেন?

উদাহরণস্বরূপ, যদি সেখানে থাকে /usr/local/bin/phpএবং usr/local/bin/php5আমি কীভাবে জানব যে আমার পিএইচপি স্ক্রিপ্টগুলি কোনটি ব্যবহার করছে?

উত্তর:


11

আপনি যদি পিএইচপি সিএলআই ব্যবহার করে থাকেন তবে থাই শেল কমান্ডগুলি ব্যবহার করে দেখুন (আমি ধরে নিচ্ছি যে আপনি এখানে লিনাক্স ব্যবহার করছেন)

which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands

আপনি যদি পিএইচপিকে অ্যাপাচি মডিউল হিসাবে ব্যবহার করে থাকেন তবে phpinfo () আপনাকে পিএইচপি ব্যবহার করা সংস্করণ এবং পিএইচপি কনফিগারেশন ফাইলগুলি বলবে, পিএইচপি পথ নয় । আপনার যদি পিএইচপি এক্সিকিউটেবলের 2 টি সংস্করণ থাকে তবে এটি আপনাকে সহায়তা করবে। যদি সেগুলি একই সংস্করণ হয় তবে এটি কোনটি নয় সেটিকে সত্যই গুরুত্ব দেবে না :)

আপনি যদি পিএইচপি সংস্করণটি সন্ধান করতে চান, তবে পিএইচপি -v সিএলআই এবং পিএলপি ইনস্টল থাকা যে কোনও জেন্ডুল মডিউলগুলিতে পিএইচপি সংস্করণ প্রিন্ট করবে।

যদি আপনি অন্তর্ভুক্ত থাকা আইএনআই ফাইলগুলি সন্ধান করতে চান তবে পিএইচপি --ini পিএইচপি মডিউল দ্বারা লোড হওয়া আইএনআই ফাইলগুলির তালিকা প্রদর্শন করবে (এটি সিএলআই সংস্করণের জন্য প্রযোজ্য)।


সমস্ত ইনপুট জন্য ধন্যবাদ। স্পষ্টতই, whichকমান্ডটি আমার প্রয়োজন ছিল।
রেন্ডেল

@ র্যান্ডেল - ব্যবহার করবেন না which; command -vপরিবর্তে ব্যবহার করুন। আরো দেখুন চেক যদি একটি প্রোগ্রাম একটি ব্যাশ স্ক্রিপ্ট থেকে বিদ্যমান

7

কেবল একটি সাধারণ স্ক্রিপ্ট যুক্ত করুন

<?php phpinfo(); ?>

এটি phpব্যবহারকারীর লগইন থেকে চালানো যাবে না ; এবং অগত্যা পিএইচপি অ্যাপাচি ব্যবহার করে না?

5

ধরে নিচ্ছেন আপনি ওয়েব সার্ভারের মাধ্যমে ব্যবহার করছেন:
আপনি নিম্নলিখিত ক্রিয়াকে স্ক্রিপ্টে রাখতে পারেন:

<?php 
phpinfo(); 
?>

যদি এটি কাজ না করে তবে এটি হতে পারে কারণ এই ফাংশনটি php.ini এ অক্ষম। এটি প্রায়শই সুরক্ষার জন্য করা হয়। যদি এটি হয় তবে আপনার php.ini তে একটি লাইন থাকবে:

disable_functions = phpinfo

যদি এটি হয় তবে অস্থায়ীভাবে এটিকে এতে পরিবর্তন করুন

disable_functions =

যদি আপনি শেল স্ক্রিপ্টগুলির জন্য পিএইচপি ব্যবহার করেন:

  1. শীর্ষে 'শেবাং লাইন' থাকা উচিত, এরকম কিছু

    #! / usr / স্থানীয় / বিন / পিএইচপি-কিউ

  2. আপনি কি নিশ্চিত যে একটি অন্যটির সাথে স্মিবোলিক লিঙ্ক নয়? করা

    ls -l / usr / স্থানীয় / বিন / পিএইচপি

  3. ;-) করবেন না


5

কমান্ডলাইন থেকে:

$ পিএইচপি-ভি

পিএইচপি 5.2.6-3ubuntu4 সুহোসিন-প্যাচ 0.9.6.2 (ক্লিটার) সহ (নির্মিত: মার্চ 31 2009 02:11:31) কপিরাইট (সি) 1997-2008 পিএইচপি গ্রুপ জেন্ড ইঞ্জিন v2.2.0, কপিরাইট (সি) 1998- 2008 জেন্ড টেকনোলজিস


এটি phpব্যবহারকারীর লগইন থেকে চালানো যাবে না ; এবং অগত্যা পিএইচপি অ্যাপাচি ব্যবহার করে না?

1
<?php
// prints e.g. 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . phpversion();
?>

0

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

আপনার প্রশ্নে আপনি যে অবস্থানগুলি উল্লেখ করেছেন সেগুলি হ'ল কমান্ড লাইন স্ক্রিপ্ট ইন্টারপ্রেটার যা শেবাং নোটেশন দ্বারা ডাকা হবে

 #!/usr/local/bin/php

আপনার পিএইচপি-কমান্ড লাইন স্ক্রিপ্টের শীর্ষে

আপনি আলাদাভাবে উল্লিখিত দোভাষীদের কল করতে পারেন, যেহেতু তাদের আলাদা আলাদা নাম রয়েছে

# php

/ usr / স্থানীয় / বিন / পিএইচপি কল এবং

# php5

/ usr / স্থানীয় / বিন / php5 কল করবে

আপনি যদি অ্যাপাচি মডিউলটির মাধ্যমে পিএইচপি ব্যবহার করেন তবে এর মধ্যে একটিও ব্যবহার করা হবে না। আপনি যদি পিএইচপি-র সিজিআই-সংস্করণ ব্যবহার করেন তবে এটি phpinfo () এ প্রদর্শিত হবে; আউটপুট।



0
<?php echo shell_exec('which php'); ?>

আপনার শেল অ্যাক্সেস না থাকলেও এটি কাজ করে। ;-)


আমার মনে হয় না যে ব্যক্তি জিজ্ঞাসা করছে এটি এটি করে। এটি কেবল আপনাকে জানায় যে শ্যাবিলের পরিবেশটি PATH অনুসন্ধানে কী শেষ হবে end এটি অগত্যা পিএইচপি একই স্ক্রিপ্ট দ্বারা চালিত হয় হিসাবে একই নয়।
থুনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.