উত্তর:
ডটদেব দেবিয়ান স্থিতিশীল প্যাকেজগুলি ব্যবহার করুন । যদিও ডকুমেন্টেশন এটি নোট করে না, স্থিতিশীল প্যাকেজগুলি বর্তমানে হুই / টেস্টিংয়ের সাথে দুর্দান্ত কাজ করে। নির্দেশাবলী অনুসরণ করার পরে, করুন:
apt-get install php5-cli
রুট হিসাবে
ডটডেব থেকে পিএইচপি 5- ক্লিপ ইনস্টল করার পরে, পিএইচপি 5- রিডলাইন প্যাকেজটি ইনস্টল করুন।
apt-get install php5-readline
php5-readline
জেসি এবং সিডের মূল সংরক্ষণাগারে পাওয়া যায়। এবং আপনার php5-cli
ডটদেব থেকে দরকার নেই।
গিলস যে উত্তরগুলি সম্পূর্ণ পিএইচপি প্যাকেজটি পুনরায় সংশোধন করার পরামর্শ দিয়েছিল তার সাথে যুক্ত হিসাবে আপনি পিএইচপি 5.4 এর জন্যও অপেক্ষা করতে পারেন। 5.4-এ আমি রিডলাইন কার্যকারিতা পুনর্গঠন করেছি যে সমস্ত প্রয়োজনীয় অংশগুলি পাঠ্যলাইন মডিউলে রয়েছে, সুতরাং আপনি সেই স্ট্যান্ডটি একা তৈরি করতে পারেন।
$ wget ...php-5.4.0.tar.bz2
$ tar xjf php-5.4.0.tar.bz2
$ cd php-5.4.0/ext/readline
$ phpize && ./configure && make
তারপরে আপনি modules/readline.so
php.ini থেকে লোড করা যায় এমন একটি দিয়ে শেষ করবেন ( make install
এতে সরানো হবে extension_dir
)
বিকল্পভাবে ডিস্ট্রিবিউটর রিডলাইন মডিউলটি জাহাজে পাঠাতে পারে (সম্ভবত লিবিডের সাথে লিঙ্কযুক্ত, পাঠ্যরেখার সাথে নয়) এবং ইন্টারেক্টিভ মোড উপলব্ধ থাকবে।
এই সমস্ত আপনাকে এখনই সহায়তা করবে না (পিএইচপি 5.4 হিসাবে। এখনও আউট নয়) তবে অন্যদের এই প্রশ্নটি পরে খুঁজে পেতে সহায়তা করতে পারে।
আমার ব্লগে আরও কিছু বিশদ: http://schlueters.de/blog/archives/133-Now-in-trunk- উন্নত- ইন্টারেক্টিভ- shell.html
সম্পাদনা: আসলে ব্লগ পোস্টটি এই পরিবর্তনের চেয়ে পুরানো তবে এটি এখনও আকর্ষণীয় হতে পারে। একটি সামান্য তথ্য বাগ রিপোর্টে রয়েছে # 53878 তবে খুব বেশি নয় ... রিলিজের পরে http://php.net/commandline.interactive এর আরও বেশি হওয়া উচিত।
ইনস্টল করুন rlwrap
এবং চালান rlwrap php5
। Rlwrap হ'ল জেনেরিক রিডলাইন র্যাপার, এটি যে কোনও রিড-ইভাল-প্রিন্ট লুপের জন্য কমান্ড লাইন সংস্করণ এবং ইতিহাস সরবরাহ করে। যেহেতু এটি একটি জেনেরিক মোড়ক, আপনি কোনও পিএইচপি-নির্দিষ্ট সমাপ্তি পাবেন না।
বিকল্পভাবে, উত্স প্যাকেজটি পান এবং পঠন সমর্থন সহ এটি পুনর্নির্মাণ করুন। লাইসেন্স সংক্রান্ত সমস্যার কারণে রিডলাইন সমর্থনটি কেবলমাত্র বাকি ছিল , তবে এই সমস্যাগুলি কেবল পঠন লাইনের সাথে যুক্ত পিএইচপি 5 বিতরণ করতে নিষেধ করে, তারা আপনাকে এটি ব্যবহার করতে বাধা দেয় না।
apt-get source php5-cli
apt-get install build-essential fakeroot
apt-get build-dep php5-cli
cd php5-*/
# Edit debian/rules to configure with readline support
# Add an entry to debian/changelog to remember what you did
dpkg-buildpackage -rfakeroot -us -uc -b -nc
rlwrap
অনেক সাহায্য বলে মনে হচ্ছে না। আমি যখন চালনা করি rlwrap php5
, প্রবেশ করান echo 1;
, তারপরে রিটার্নটি চাপুন তারপরে Ctrl-D (ইনপুটটির শেষ), এটি echo 1;
ফলাফল (1) এর পরিবর্তে ইনপুট আউটপুট করে । এটি লাইসেন্স দেওয়ার বিষয়টি উল্লেখ করার জন্য ধন্যবাদ
rlwrap php5
এবং বিচার্য কোনও পার্থক্য দেখছি না php5
। আপনি প্রবেশ <?php echo 1;?>
করালে আউটপুটটি হয় 1
তবে তা উভয় ক্ষেত্রেই অবিলম্বে নির্গত হয় না। গুগলিং পরামর্শ দেয় যে php5
কেবল কোনও পিএইচপি REPL নয়, পরিবর্তে আপনার পিএইচপিএস-এর মতো কিছু ব্যবহার করা উচিত ।
<?php
বা ?>
ইন্টারেক্টিভ শেল হবে। আমি সম্মত হই যে পিএইচপি-র একটি সম্পূর্ণ আরপিএল নেই। তবে ওয়ার্কিং রিডলাইন সমর্থন (যেমন ডটদেব প্যাকেজটি আমি সংযুক্ত করেছি) এর সাথে সংকলিত একটি সংস্করণ ব্যবহার করে, আপনি এন্টার টিপানোর সাথে সাথে এটি 1 (বা আসল আউটপুট যাই হোক না কেন) আউটপুট দেবে। আমি সম্মত হচ্ছি যে rlwrap এবং কোনও পাঠ্যরেখার মধ্যে কোনও উল্লেখযোগ্য পার্থক্য নেই (লাইন-সম্পাদনা এবং ইতিহাস ছাড়াও, যা দুর্দান্ত তবে তাত্ক্ষণিক আউটপুট হিসাবে কার্যকর নয়)।
এটা চেষ্টা কর:
$ php -a
Interactive mode enabled
<?php echo "hi!"; ?>
প্রেস Ctrl-d
<?php ?>
ব্লক। আমি সে সম্পর্কে অবগত ছিলাম না এবং এটি দেখায় আমি গিলসকে আগে ভুল বুঝেছিলাম।
উবুন্টু ব্যবহারকারীদের জন্য, পিএইচপি 5-রিডলাইন অতিরিক্ত প্যাকেজ যা আপনাকে ব্যবহারযোগ্য পিএইচপি কমান্ড প্রম্পট ইনস্টল করতে হবে:
sudo apt-get install php5-cli php5-readline
sudo php5enmod readline
আমার উবুন্টু 14.04 এ এটি করতে হয়েছিল।
এগুলির কোনওটিই আমার পক্ষে কাজ করেনি। পরিবর্তে http://www.phpsh.org/ ব্যবহার করুন ।
ডেবিয়ান জেসি এবং ডেবিয়ান এসিড ব্যবহার:
sudo apt-get install php5 php5-readline
তারপর
php -a
Interactive mode enabled
php > echo 1+2;
3
php >
php>
আমার কাছে এখনও কোনও প্রম্পট নেই :(