Linux PHP5.3升级PHP5.5.33,php5.3php5.5.33
Linux PHP5.3升级PHP5.5.33,php5.3php5.5.33
由于要使用了laravel5.1,php要升级到5.5以上。具体环境是Aliyun Cent OS 7.0。由于阿里的yum源lastest只有5.4,laravel5.1必须php5.5,加了几个网上的yum源,各种各样的问题,所以只能麻烦的编译安装了。
首先网上这类的文章非常多,每个人的升级目的,要升级的组件都不完全一样。最好的说明文档还是官方安装文档,如果php官网的安装失败,再去搜索相关问题。我最终靠的是官网上Apache 2.x on Unix systems这篇文档。
1.下载
http://php.net/downloads.php
<span>1</span> <span>wget</span> http:<span>//</span><span>cn2.php.net/get/php-5.5.33.tar.gz/from/this/mirror</span> <span>2</span> <span>#下载完改一下名字 </span><span>3</span> <span>mv</span> mirror php-<span>5.5</span>.<span>33</span>.<span>tar</span><span>.gz </span><span>4</span> <span>tar</span> -zxf php-<span>5.5</span>.<span>33</span>.<span>tar</span>.gz php-<span>5.5</span>.<span>33</span> <span>5</span> cd php-<span>5.5</span>.<span>33</span>
2.编译安装
#这一步出错了#############################<br />./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql<br />#这一步出错率#############################
我在--with-apxs2=/usr/local/apache2/bin/apxs这一步出了问题,去掉这个参数即使安装也是不行,这个参数编译出libphp5.so并用在httpd.conf中,find / -name apxs2搜不到结果。我找了很久,发现是我的apache有问题,不知道为什么5.3的时候没有这个问题(不管了)。
<span>yum</span> <span>install</span> httpd-devel
虽然apxs2还是没有,但能找到apxs了:
<span>1</span> <span>find</span> / -<span>name apxs2 </span><span>2</span> <span>find</span> / -<span>name apxs </span><span>3</span> /usr/bin/apxs
接下来几步一点点来,比较耗时:
<span>1</span> ./configure --with-apxs2=/usr/bin/apxs --with-<span>mysql </span><span>2</span> <span>make</span> <span>3</span> <span>make</span> <span>install<br /><br /><span>#之后发现单独编译pdo_mysql扩展有问题,换了这句重新编译</span><br /><span>#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/bin/apxs</span><br /></span>
得到类似结果为安装成功:
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-<span>20121212</span>/<span> ... ... ... Wrote PEAR system config </span><span>file</span> at: /usr/local/etc/<span>pear.conf You may want to add: </span>/usr/local/lib/<span>php to your php.ini include_path </span>/usr/local/src/php-<span>5.5</span>.<span>33</span>/build/shtool <span>install</span> -c ext/phar/phar.phar /usr/local/<span>bin </span><span>ln</span> -s -f phar.phar /usr/local/bin/<span>phar Installing PDO headers: </span>/usr/local/include/php/ext/pdo/
3.配置
复制php.ini
#这个位置一定不能错,编译.configure的时候我没有制定php.ini的位置,默认就是这里,
#如果跳过这一步,后面不会出问题,但是你将来该php.ini,比如安装扩展什么的,去修改/etc/php.ini(你原来的)的话都是无效的。
cp php.ini-development /usr/local/lib/php.ini
#这里我建议把原来的php.ini改掉,这样不会影响以后的find
#你的原来不一定是这里,建议find一下
mv /etc/php.ini /etc/php.ini.back
修改httpd.conf
<span>find</span> / -<span>name httpd.conf </span><span>vi</span> /etc/httpd/conf/<span>httpd.conf #加入这两句(310行左右) AddType application</span>/x-httpd-<span>php .php .php3 .phtml .inc AddType application</span>/x-httpd-php-<span>source .phps #可能是升级的原因,这一句我本来就有,没有要加(50行左右) LoadModule php5_module </span>/usr/lib64/httpd/modules/libphp5.so
重启apache:
service httpd restart
测试一下:
php -v
新建一个phpinfo.php访问一下:
<?<span>php </span><span>echo</span> <span>phpinfo</span>();
结果完美:
可以需要安装一些依赖,如gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap,这些就交给yum吧。
dreamingodd原创文章,如转载请注明出处。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









php5 と php8 の違いは、パフォーマンス、言語構造、型システム、エラー処理、非同期プログラミング、標準ライブラリ関数、セキュリティの点です。詳細な紹介: 1. パフォーマンスの向上. PHP5 と比較して、PHP8 はパフォーマンスが大幅に向上しています. PHP8 では、高頻度の実行コードをコンパイルおよび最適化できる JIT コンパイラーが導入されており、それによって実行速度が向上しています; 2. 言語構造の改善、 PHP8 では、いくつかの新しい言語構造と関数が導入されており、PHP8 では名前付きパラメータがサポートされており、開発者はパラメータの順序などの代わりにパラメータ名を渡すことができます。

php5 でポート 80 を変更する方法: 1. Apache サーバー設定ファイルのポート番号を編集します; 2. PHP 設定ファイルを編集して、PHP が新しいポートで動作することを確認します; 3. Apache サーバーを再起動すると、PHP アプリケーションが起動します。新しいポートで実行を開始します。ポートで実行します。

php5 がポート 9000 をリッスンしない場合の解決手順: 1. PHP-FPM 構成ファイルを確認します; 2. PHP-FPM サービスを再起動します; 3. ファイアウォールをオフにするか、ポート転送を構成します; 4. 他のプロセスがポート 9000 を占有しているかどうかを確認します。

php7 と php5 の構文の違いは次のとおりです: 1. PHP7 では厳密な型宣言が導入されていますが、PHP5 変数の型は暗黙的です; 2. PHP7 ではスカラー型宣言のサポートが導入されていますが、PHP5 ではサポートされていません; 3. PHP7 では NULL Merge 演算子が導入されていますが、PHP7 では NULL Merge 演算子が導入されています。 PHP5 では、変数が存在するかどうか、null ではないかどうかをチェックします。条件文を使用する必要があります。 4. PHP7 には新しい比較演算子「<=>」が追加されていますが、PHP5 にはありません。 5. PHP7 では、新機能の匿名クラスが導入されていますが、PHP5 では、ではない。

Web サイト管理者は、PHP5 ポートをデフォルトのポート 80 から変更する必要がある状況に遭遇する可能性があります。このプロセスは少し急いでいるかもしれませんが、以下の手順に従えば簡単に完了します。

php7 と 5 のバージョンの違いには、パフォーマンスの向上、スカラー型宣言、戻り値の型宣言、例外処理の改善、匿名クラス、構文の改善、新しい演算子、エラー処理の強化、および一部の古い機能の削除が含まれます。詳細な紹介: 1. パフォーマンスの向上 PHP7 では、Zend Engine 3.0 という名前の新しい Zend エンジンが導入されており、パフォーマンスが大幅に向上しています。主にメモリ管理の改善により、PHP7 のパフォーマンスは PHP5 の約 2 倍になり、関数呼び出しと例外処理が最適化されました。 、ガベージコレクションの強化など。

PHP5 を使用している場合、一部のユーザーはポート 9000 をリッスンできない状況に遭遇する可能性があります。現時点では、この問題を解決するには、いくつかの構成とトラブルシューティング作業を実行する必要があります。

PHP は、動的な Web サイトやアプリケーションの開発に使用される、広く使用されているサーバー側プログラミング言語です。近年、PHP7のリリースが注目を集めています。 PHP7 には、以前のバージョン (PHP5 など) に比べて多くの改善と最適化が行われています。この記事では、PHP7 と PHP5 の構文の違いについて説明します。
