সেন্টোস 7/ডেবিয়ান 8 এ অ্যাপাচি এবং মারিয়াডিবি দিয়ে কীভাবে পিএইচপি 7 ইনস্টল করবেন
গত সপ্তাহে (আরও সুনির্দিষ্টভাবে 21 আগস্ট, ২০১৫), পিএইচপি উন্নয়ন দল পিএইচপি 7 এর সর্বশেষ প্রকাশের প্রাপ্যতা ঘোষণা করেছিল এবং বিশ্বব্যাপী ব্যবহারকারী এবং বিকাশকারীদের এটি পরীক্ষা করতে উত্সাহিত করেছিল encouraged
তবে, আমাদের অবশ্যই লক্ষ্য রাখতে হবে যেহেতু এটি একটি আরসি (রিলিজ প্রার্থী) সংস্করণ, তাই এটি বিদ্যমান সেটআপগুলির সাথে বাগ বা অসুবিধাগুলি থাকতে পারে বলে ব্যবহারকারীদের ত্রুটি ট্র্যাকিং সিস্টেম ব্যবহার করে তাদের রিপোর্ট করতে এবং পিএইচপি 7 ব্যবহার না করার জন্য বলা হচ্ছে উত্পাদন যখন এটি সেই পর্যায়ে থেকে যায়।
উজ্জ্বল দিকটি হ'ল এই সংস্করণটিতে বেশ কয়েকটি ফিক্স অন্তর্ভুক্ত রয়েছে (নতুন বৈশিষ্ট্য এবং বর্ধনের বিশদ তালিকার জন্য আপনি এই পৃষ্ঠার প্রকল্পটির গিটহাব সংগ্রহস্থলটিতে উল্লেখ করতে পারেন), সর্বাধিক বিশিষ্ট বৈশিষ্ট্যটি পূর্বের তুলনায় অসাধারণ পারফরম্যান্স বৃদ্ধি সংস্করণ।
এই নিবন্ধটি আপনাকে সেন্টোস 7 এবং ডেবিয়ান 8 জেসিতে অ্যাপাচি এবং মারিয়াডিবি সহ সোর্স টার্বল থেকে পিএইচপি 7 আরসি 1 ইনস্টল এবং সংকলনের প্রক্রিয়াটি অনুসরণ করবে। একই নির্দেশাবলী আরএইচইএল, ফেডোরা, বৈজ্ঞানিক লিনাক্স এবং ডেবিয়ান ভিত্তিক উবুন্টু/মিন্টের মতো সেন্টোস ভিত্তিক বিতরণগুলিতেও কাজ করে।
সেন্টোস 7 এবং ডেবিয়ান 8 এ পিএইচপি 7 ইনস্টল করা হচ্ছে
ভূমিকাটিতে যেমন বলা হয়েছে, যেহেতু এই সংস্করণটি একটি স্থিতিশীল রিলিজের পরিবর্তে আরসি হয়, তাই আমরা যুক্তিযুক্তভাবে এটি সংগ্রহস্থলগুলিতে খুঁজে পাওয়ার আশা করতে পারি না। যে কারণে, আমাদের উত্স কোডটি ডাউনলোড করতে হবে এবং স্ক্র্যাচ থেকে প্রোগ্রামটি সংকলন করতে হবে।
তবে আমরা এটি করার আগে আমাদের মনে রাখতে হবে যে পিএইচপি 7 এর আরও ভাল সুবিধা নিতে এবং সম্ভবত এটি চেষ্টা করার সর্বোত্তম উপায় হ'ল এটি অ্যাপাচি এবং মারিয়াডিবির সাথে ইনস্টল করা - যা আমরা সংগ্রহস্থলগুলিতে দেখতে পাচ্ছি:
# yum update && yum install httpd mariadb mariadb-server
# aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb.common
উভয় ক্ষেত্রেই, পিএইচপি এর উত্স কোড সহ টার্বলটি ডাউনলোড করা এবং নিম্নরূপে বের করা যেতে পারে:
# wget https://downloads.php.net/~ab/php-7.0.0RC1.tar.gz # tar xzf php-7.0.0RC1.tar.gz -C /opt
একবার হয়ে গেলে, আসুন /opt/php-7.0.0RC1 এ চলে যাই এবং আরসি সংস্করণ তৈরিতে বাধ্য করার জন্য ফোর্স স্যুইচ দিয়ে বিল্ডকনফ স্ক্রিপ্টটি কার্যকর করি:
# ls
# cd /opt/php-7.0.0RC1.tar.gz # ./buildconf --force
এখন আমাদের সুপরিচিত কনফিগার কমান্ডটি কার্যকর করার সময় এসেছে। নীচের বিকল্পগুলি একটি স্ট্যান্ডার্ড পিএইচপি 7 ইনস্টলেশন নিশ্চিত করবে, আপনি আপনার প্রয়োজন অনুসারে ইনস্টলেশনটিকে আরও কাস্টমাইজ করতে পিএইচপি ম্যানুয়ালটিতে সম্পূর্ণ বিকল্প তালিকাটি উল্লেখ করতে পারেন:
# ./configure \ --prefix=$HOME/php7/usr \ --with-config-file-path=$HOME/php7/usr/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-curl \ --with-mcrypt \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib-dir=/usr \ --with-xpm-dir=/usr \ --with-freetype-dir=/usr \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-openssl \ --with-pdo-mysql=/usr \ --with-gettext=/usr \ --with-zlib=/usr \ --with-bz2=/usr \ --with-recode=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-apxs2
আপনি যদি নিম্নলিখিত ত্রুটিটিতে চলে যান:
configure: error: no acceptable C compiler found in $PATH see 'config.log' for more details
কেবলমাত্র নিম্নলিখিত কমান্ডের সাথে জিসিসি এবং নির্ভরতা ইনস্টল করুন এবং উপরের কনফিগার কমান্ডটি আবার চালান।
# yum install gcc [On CentOS 7 box] # aptitude install gcc [On Debian 8 box]
আপনি পিএইচপি 7 সংকলনের পথে যাবেন, এতে কিছুটা সময় লাগতে পারে। যদি অন্য হারিয়ে যাওয়া লাইব্রেরি বা সংস্থান থাকে তবে এই প্রক্রিয়াটি ব্যর্থ হবে তবে আপনি সর্বদা সেগুলি ইনস্টল করতে পারেন এবং আবার কনফিগার চালাতে পারেন।
উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটি বার্তা পাওয়ার পরে আমাকে libxML2-devel ইনস্টল করতে হয়েছিল:
configure: error: xml2-config not found. Please check your libxml2 installation.
দুর্ভাগ্যক্রমে, আমরা সম্ভবত সমস্ত ক্ষেত্রেের দৃশ্যগুলি coverাকতে পারি না কারণ ইনস্টল করা সফ্টওয়্যারটি একটি সিস্টেম থেকে অন্য সিস্টেমে পরিবর্তিত হতে পারে। ইনস্টলেশন চলাকালীন, আপনি এই পৃষ্ঠাটি উল্লেখ করতে চাইতে পারেন যা উত্স থেকে পিএইচপি ইনস্টল করার সময় আপনি যে কয়েকটি ত্রুটিগুলি প্রবেশ করতে পারেন সেগুলির সাথে তার সম্পর্কিত সমাধানগুলি সহ রূপরেখা তৈরি করতে পারেন।
কনফিগার প্রক্রিয়াটি সম্পূর্ণ করতে সক্ষম হওয়ার আগে আমার সেন্টোস 7 বাক্সে আমাকে যে প্যাকেজগুলি ইনস্টল করতে হয়েছিল তার একটি সম্পূর্ণ তালিকা এখানে রয়েছে:
gcc libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel
উপরে বর্ণিত সমস্ত প্যাকেজগুলি একটি একক yum কমান্ডের সাহায্যে ইনস্টল করতে পারেন shown
# yum install gcc libxml2-devel pkgconfig openssl-devel bzip2-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel
নিম্নলিখিত বার্তাটি নির্দেশ করে যে কনফিগারটি সফলভাবে শেষ হয়েছে:
তারপরে দৌড়াও,
# make # make install
ইনস্টলেশন সমাপ্ত হলে আপনি কমান্ড লাইনটি ব্যবহার করে সংস্করণটি পরীক্ষা করতে পারেন:
ডেবিয়ানে, কনফিগার প্রক্রিয়াটি সফলভাবে শেষ করতে আমাকে নীচের প্যাকেজগুলি ইনস্টল করতে হয়েছিল:
make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev
আপনি উপরের সমস্ত প্রয়োজনীয় প্যাকেজগুলি ডেবিয়ান 8 এপ-গেট কমান্ড দিয়ে ইনস্টল করতে পারেন।
# apt-get install make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev
তারপরে কনফিগার বিকল্পগুলির সাথে –with-libdir =/lib/x86_64-linux-gnu যুক্ত করুন এবং gmp.h শিরোলেখ ফাইলটিতে নিম্নলিখিত সিমিলিংক তৈরি করুন:
# ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
তারপরে আগের মতো মেক অ্যান্ড মেক ইনস্টল করে দৌড়ান। 10-15 মিনিটের মধ্যে সংকলনটি সম্পন্ন হওয়া উচিত এবং আমরা ইনস্টল করা পিএইচপি সংস্করণটি আগের মতো যাচাই করতে পারি:
# make # make install
Php.ini সেট আপ এবং পিএইচপি 7 ইনস্টলেশন পরীক্ষা করা
আপনি উত্স থেকে পিএইচপি ইনস্টল করার সময়, দুটি নমুনা php.ini সরবরাহ করা হয়। এই ক্ষেত্রে, তারা /opt/php-7.0.0RC1 এর ভিতরে অবস্থিত:
# ls -l /opt/php-7.0.0RC1 | grep php.ini
আপনাকে এখন তাদের মধ্যে একটি/ইউএসআর/স্থানীয়/লিবিতে অনুলিপি করতে হবে যা ইনস্টল নোট অনুসারে ফাইলের জন্য ডিফল্ট অবস্থান হিসাবে মনোনীত হয়:
# cp /opt/php-7.0.0RC1/php.ini-development /usr/local/lib
এবং অ্যাপাচি-র মূল কনফিগারেশন ফাইলগুলিতে এই কনফিগারেশন নির্দেশকে যুক্ত করতে ভুলবেন না।
/etc/httpd/conf/httpd.conf [On CentOS 7 box] /etc/apache2/apache2.conf in [On Debian 8 box]
LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
ডেবিয়ান 8-এ আপনি লোডমোডুল লাইনটি বাদ দিতে পারেন এবং আপনাকে নির্দেশিত অ্যাপাচি মডিউলগুলির জন্য নিম্নলিখিত প্রতীকী লিঙ্কগুলি সরিয়ে এবং তৈরি করতে হবে:
# cd /etc/apache2 # rm mods-enabled/mpm_event.conf # rm mods-enabled/mpm_event.load # ln -s mods-available/mpm_prefork.conf mpm_prefork.conf # ln -s mods-available/mpm_prefork.load mpm_prefork.load
তারপরে, ওয়েব সার্ভারটি পুনরায় চালু করুন:
# systemctl restart httpd [On CentOS 7 box] # systemctl restart apache2 [On Debian 8 box]
সেন্টোস 7-এ অ্যাপাচি শুরু করা হলে libphp7.so মডিউলটি খুঁজে পাচ্ছে না বলে একটি ত্রুটি বার্তা ফিরে আসে, কেবল /opt/php-7.0.0RC1/.libs/libphp7.so থেকে নির্দেশিত পথে অনুলিপি করুন।
পিএইচপি/অ্যাপাচি ইনস্টলেশন পরীক্ষা করার সর্বোত্তম উপায়টি phpinfo()
ফাইল ব্যবহার করছে। ওয়েব সার্ভারের নথির মূলটিতে নিম্নলিখিত বিষয়বস্তুর সাথে টেস্ট.এফপি নামের একটি ফাইল তৈরি করুন (উভয় বিতরণে/var/www/html):
<?php phpinfo(); ?>
এবং পরীক্ষা করার জন্য আপনার নেটওয়ার্কের মধ্যে একটি ক্লায়েন্টে একটি ব্রাউজার চালু করুন:
http://localhost/test.php OR http://IP-address/test.php
সারসংক্ষেপ
এই নিবন্ধে আমরা কীভাবে উত্স কোড থেকে পিএইচপি 7 ইনস্টল করবেন তা এই জনপ্রিয় সার্ভার-সাইড স্ক্রিপ্টিং ভাষার নতুন আরসি যা অভূতপূর্ব মানগুলিতে কর্মক্ষমতা উন্নত করতে লক্ষ্য করে। এই বছরের 2015 সালের নভেম্বরে এটি স্থিতিশীল না পৌঁছানো পর্যন্ত আপনাকে দৃ STR়ভাবে এই পরিবেশকে কোনও পরিবেশের পরিবেশে ব্যবহার না করার পরামর্শ দেওয়া হচ্ছে।
এই নিবন্ধটি সম্পর্কে আপনার যদি কোনও প্রশ্ন/মন্তব্য/পরামর্শ থাকে তবে নীচের ফর্মটি ব্যবহার করে আমাদের নির্দ্বিধায় জানান।