ホームページ  >  記事  >  バックエンド開発  >  debian で nginx+php+mysql を構成するときに遭遇する落とし穴

debian で nginx+php+mysql を構成するときに遭遇する落とし穴

高洛峰
高洛峰オリジナル
2017-02-09 09:34:251390ブラウズ

1. Alibaba Cloud で使用している debian6 サーバーにはデフォルトで php5.3.3 がインストールされています。ただし、Windowsのテスト環境でnginxやphpを設定する際にfastcgiモジュールを使用したため、php-cgiやphp-fpmなどのモジュールがインストールされていなかったので、起動してすぐにphp-cgiに従おうと思ったのですが、apt-cgiを実行してしまいました。 get install php5-cgi がエラーを報告します。午前中ずっと苦労した後、/etc/apt/source.list ソース ファイルを修正し、次のソースを追加しました:

deb http://www.php.cn/ wheezy main non-free contrib
deb http://www.php.cn/ wheezy-proposed-updates main non-free contrib
deb-src http://www.php.cn/ wheezy main non-free contrib
deb-src http://www.php.cn/ wheezy-proposed-updates main non-free contrib

それから php-cgi と php-fpm をインストールしたところ、成功しました。 。 。

2. php をインストールした後、本来のインストール エクスペリエンスは php-cgi を使用して php を起動するはずですが、php-cgi -b 127.0.0.1:9000 と入力すると、次のようなシステム エラーが表示されます:

HP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0

その後、オンラインにアクセスします。エラーの原因を確認すると、それについて言及している記事があります:

aptitude purge php5-suhosin

案の定、php は正常に起動しました。

3.nginx と php が正常にインストールされ、公開されたので、データベースに接続する必要があります。 Windows 環境のインストール経験がある場合は、php.ini を変更する必要があります。 Linux では設定方法が異なることがわかりました。まず php5-mysql をインストールする必要があります。インストールが成功したら、次のコードを使用して、PHP が debian6 サーバーに正常に接続できるかどうかをテストできます。私が使用している Alibaba Cloud にはデフォルトで php5 がインストールされています。ただし、Windowsのテスト環境でnginxやphpを設定する際にfastcgiモジュールを使用したため、php-cgiやphp-fpmなどのモジュールがインストールされていなかったので、起動してすぐにphp-cgiに従おうと思ったのですが、apt-cgiを実行してしまいました。 get install php5-cgi がエラーを報告します。午前中ずっと苦労した後、/etc/apt/source.list ソース ファイルを修正し、次のソースを追加しました:

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;开始mysql数据库连接.<br>';
$con = mysql_connect("localhost","root","root");
if($con){
echo '连接mysql数据库成功.<br>';
}else{
die('连接mysql数据库失败:' . mysql_error());
}
mysql_close($con);
echo '关闭mysql数据库连接.';
 ?>

それから php-cgi と php-fpm をインストールしたところ、成功しました。 。 。

2. php をインストールした後、本来のインストール エクスペリエンスは php-cgi を使用して php を起動するはずですが、php-cgi -b 127.0.0.1:9000 と入力すると、システムは次のエラーを報告します:

deb http://www.php.cn/ wheezy main non-free contrib
deb http://www.php.cn/ wheezy-proposed-updates main non-free contrib
deb-src http://www.php.cn/ wheezy main non-free contrib
deb-src http://www.php.cn/ wheezy-proposed-updates main non-free contrib

その後、オンラインになりますエラーの原因を確認するには、それについて言及している記事があります:

HP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0

案の定、php は正常に起動しました。

3.nginx と php が正常にインストールされ、公開されたので、データベースに接続する必要があります。 Windows 環境のインストール経験がある場合は、php.ini を変更する必要があります。 Linux での設定方法は異なることがわかりました。まず php5-mysql をインストールする必要があります。インストールが成功したら、次のコードを使用して PHP が mysql に正常に接続されているかどうかをテストできます

aptitude purge php5-suhosin

設定時に遭遇する落とし穴がさらにあります。 Debian での nginx+php+mysql 関連記事 PHP 中国語 Web サイトに注意してください!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。