Ở bài này mình hướng dẫn các bạn cách cài đặt PHP 5.3.17 cho CentOS 5. Đối với các bản phân phối khác của hệ điều hành Linux (Ubuntu, Ultimate Edition, Chrome Linux, SLAX,…) cũng làm tương tự thôi.
Cách làm rất đơn giản, các bạn thực hiện như sau:
1. Bật Terminal lên và chạy lệnh sau:
1 | rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm |
2. Chạy lệnh sau để cài đặt PHP:
1 | yum --enablerepo=webtatic install php |
Hoặc dùng lệnh dưới đây để update php nếu php đã được cài đặt rồi:
1 | yum --enablerepo=webtatic update php |
3. Đây là các Packages để cài đặt cho PHP:
Package | Provides |
---|---|
php | mod_php |
php-bcmath | |
php-cli | php-cgi, php-pcntl, php-readline |
php-common | php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib |
php-dba | |
php-devel | |
php-eaccelerator | |
php-embedded | php-embedded-devel |
php-fpm | |
php-gd | |
php-imap | |
php-intl | |
php-ldap | |
php-mbstring | |
php-mcrypt | |
php-pecl-apc | |
php-pecl-memcache | |
php-pecl-xdebug | |
php-mssql | php-pdo_dblib |
php-mysql | php-mysqli, php-pdo_mysql, php_database |
php-odbc | php-pdo_odbc, php_database |
php-pdo | |
php-pgsql | php-pdo_pgsql, php_database |
php-process | php-posix, php-sysvmsg, php-sysvsem, php-sysvshm |
php-pspell | |
php-recode | |
php-snmp | |
php-soap | |
php-suhosin | |
php-tidy | |
php-xml | php-dom, php-domxml, php-wddx, php-xsl |
php-xmlrpc | |
php-zts |
Mình lấy ví dụ để cài đặt cho 1 trong các package trên như sau:
1 2 3 | yum --enablerepo=webtatic install php-mysql yum --enablerepo=webtatic install php-mcrypt ... |
hoặc
1 | yum --enablerepo=webtatic install php-mysql php-mcrypt ... |
“…” nghĩa là bạn có thể viết thêm các package khác của php chứ không phải là câu lệnh hay cú pháp gì đó trong Linux đâu nha 😀
4. Cài đặt mcrypt từ source
Bạn kiểm tra xem phiên bản PHP hiện tại là bao nhiêu như sau:
1 | php -v |
Của mình là: PHP 5.3.17
Các bạn vào link sau để download phiên bản php-5.3.17.tar.gz về thư mục root: http://downloads.php.net/johannes/
hoặc sử dụng lệnh sau:
1 2 | cd ~ wget http://downloads.php.net/johannes/php-5.3.17.tar.gz |
Chú ý: Version của bạn có thể khác nhé.
Tiếp theo thực hiện như sau:
1 2 3 4 5 6 7 8 9 10 | tar xvfz php-5.3.17.tar.gz cd php-5.3.17/ext/mcrypt/ phpize aclocal ./configure make make test make install echo "extension=mcrypt.so" > /etc/php.d/mcrypt.ini service httpd restart |
5. Vấn đề “Depsolving”
Nếu bạn gặp phải vấn đề “depsolving” khi đang update php, bạn có thể đang cài đăt một số phần mở rộng đã được loại bỏ. Ví dụ như php-mhash, php-ncurses.
Bạn sẽ cần phải loại bỏ chúng trước khi nâng cấp:
1 | yum remove php-mhash php-ncurses |
6. Timezone Errors
Nếu bạn không thiết lập múi giờ mặc định cho date, bạn sẽ nhận được cảnh báo và trong một số trường hợp lỗi nghiêm trọng (ví dụ khi sử dụng đối tượng DateTime). PHP sẽ sử dụng múi giờ mặc định của hệ thống nếu không phải là lỗi nghiêm trọng, hoặc trong ứng dụng của bạn hoặc php.ini, bạn nên thiết lập múi giờ là của hệ thống.
7. Deprecated Errors
Một khi bạn đang chạy phiên bản mới, bạn có thể gặp phải “deprecated” errors trong errors logs của bạn. Điều này không phải là tồi tệ, nó chỉ có nghĩa là để cho bạn biết rằng một số chức năng bạn đang sử dụng không còn được ưa chuộng, và có thể sẽ được loại bỏ trong một phiên bản phát hành chính thức trong tương lai. Một ví dụ cho điều này là hàm ereg. Hàm preg được ưa chuộng hơn vì chúng xử lý nhanh và mạnh mẽ hơn. Và trong tất cả các trường hợp khác cũng làm tương tự.
Nếu nâng cấp các chức năng không phải là một lựa chọn, bạn muốn ẩn deprecated errors trong erros log của bạn, ví dụ trên server bạn chỉ cần chỉnh sửa file /etc/php.ini, tìm dòng:
1 | error_reporting = E_ALL |
và thay thế bằng:
1 | error_reporting = E_ALL & ~E_DEPRECATED |
Chúc các bạn thành công!
That’s the pfreect insight in a thread like this.
I just want to mention I’m newbie to blogging and truly savored you’re web site. Very likely I’m want to bookmark your blog post . You absolutely come with fabulous articles and reviews. Thanks a bunch for sharing your webpage.
I’ve been absent for a while, but now I remember why I used to love this site. Thanks , I will try and check back more frequently. How frequently you update your site?
Well I really liked reading it. This tip provided by you is very useful for good planning.
In todays news reporting clever journalists function their own slant into a story. Bloggers use it promote their works and many just use it for fun or to stay in touch with friends far away.
Oh my goodness! a tremendous article dude. Thanks Nonetheless I am experiencing challenge with ur rss . Don’t know why Unable to subscribe to it. Is there anybody getting similar rss drawback? Anyone who is aware of kindly respond. Thnkx
I haven’t checked in here for some time as I thought it was getting boring, but the last several posts are good quality so I guess I will add you back to my everyday bloglist. You deserve it my friend 🙂
You have remarked very interesting points! ps decent internet site.
Good blog! I really love how it is easy on my eyes and the data are well written. I am wondering how I might be notified when a new post has been made. I’ve subscribed to your feed which must do the trick! Have a nice day!
bạn hướng dẫn mình cài gói install php-curl được không?
mình thủ cài trên server tnc.com.vn nhưng không được
thank!