LinuxでPHP環境を設定する

11885 ワード

他の人のやり方を参考にして、問題があったらインターネットで調べて、次はインストールの手順です.
一、Apache 2をインストールする.2.221、公式サイトへのダウンロードhttp://httpd.apache.org/download.cgi2、tar-zxvf httpd-2.2を解凍する.22.tar.gz3、ターゲットフォルダの作成(注意以下のすべての操作はrootユーザの下で実行する)mkdir/usr/local/apache 2つまり、このフォルダにインストールするapache 2を待つ4、元の解凍後に生成されたフォルダに戻るように構成する./configure--prefix=/usr/local/apache 2--enable-module=sharedは後のパラメータを加えなければphpは使用できません,-enable-module=sharedはApacheが動的にロードできるモジュールを表す
このステップでは、多くの問題が発生しました.
最初のエラーは次のとおりです.
checking for APR... no
configure: error: APR not found.  Please read the documentation.


download the latest versions of both APR and APR-Util from 
Apache APR , unpack them into ./srclib/apr and ./srclib/apr-util (be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)
then do
./configure --with-included-apr
原文章地址:http://stackoverflow.com/questions/9436860/apache-httpd-setup-and-installatio另外一种解决方法为:
分别安装APR和APR-util,安装方法为:首先下载这两个文件,然后解压,进入解压后目录,然后把APR和APR-util分别安装到/usr/local/文件夹的apr和apr-util文件夹下。APR的具体安装方法为:
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
安装Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
其他步骤类似。

第二个错误为:no acceptable C compiler found in $Path
直接运行 yum install gcc,安装Gcc即可
第三个问题为:pcre-config for libpcre not found
解决方法就是 下载prce安装包,和APR类似,安装到/usr/local/pcre文件夹下面即可。PS:fedora下安装c++编译器g++的命令为:yum install gcc-c++ 。
5、编译
    make    
6、安装
    make install  
7、启动,重启和停止 ,先切换到安装完成后的目录/usr/local/apache2/bin
    ./apachectl -k start
    ./apachectl -k restart
    ./apachectl -k stop  
8、配置文件(满足最基本的配置)
     编辑 /usr/local/apache2/conf/httpd.conf 文件     
     找到:
    AddType  application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    在后面添加:
    AddType application/x-httpd-php .php(使Apcche支持PHP)
    AddType application/x-httpd-php-source .php5   
    找到:
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    添加:
    <IfModule dir_module>
    DirectoryIndex index.html index.php
    </IfModule>    
    找到:
    #ServerName www.example.com:80
    修改为:
    ServerName 127.0.0.1:80或者ServerName localhost:80
    记得要去掉前面的“#”    
9、测试
    在浏览器里输入http://127.0.0.1
    如果出现It Works!说明成功。这是我的测试结果:O(∩_∩)O哈哈~

Linux下配置安装PHP环境_第1张图片

10、修改默认的Web站点目录

     默认的目录为  "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/gyw/WebSite的目录作为apache的站点目录

    找到DocumentRoot这一行修改为:DocumentRoot "/home/gyw/WebSite"

   找到 <Directory> 这一行修改为:<Directory "/home/gyw/WebSite"> 

测试:修改到文件夹出现错误:

“You don't have permission to access /index.html on this server.”

解决方法:

更改文件权限;chmod 755 index.html

打开apache配置文件httpd.conf,找到这么一段:
<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     deny from all
     Satisfy all
</Directory>

测试结果如下:

Linux下配置安装PHP环境_第2张图片

 

二、PHP 1のインストール、ダウンロードhttp://www.php.net/downloads.php2、tar-zxvf php-5.3.を解凍する16.tar.gz 3、作成先フォルダmkdir/usr/local/phpつまりこのフォルダにインストールするphp 4、元の解凍したフォルダに戻すように設定します./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs
ここでは、Apacheのインストール時にapxsが生成される-with-apxs 2=/usr/local/apache/bin/apxsオプションがあります.apxsは、Apache HTTPサーバ用に拡張モジュールをコンパイルおよびインストールするツールであり、mod_soから提供されるLoadModuleコマンドで実行時にApacheサーバにロードできるようにします.このツールでPHPモジュールをApacheに動的にロードすることを理解しています.
エラー:configure:error:xml 2-config not found.Please check your libxml2 installation.
yum install libxml 2を実行し、yum install libxml 2-develのインストールが完了したら、上の./を再実行します.configureコマンド.
5、コンパイルmake 6、テストコンパイルmake test 7、インストールmake install
8、構成ファイル
    cp/usr/local/src/php-5.3.16/php.ini-development /usr/local/php/lib/php.iniは元のソースコードの中にあるphpを.ini-developmentは/usr/local/php/lib/phpにコピーする.iniの下でphpと名前を変更します.ini
9.apache 10を再起動し、apacheのhtdocsの下でphpファイルtestを作成する.php、中の内容は以下の通りです:ブラウザに入力しますhttp://127.0.0.1/test.phpphpに関する構成が発生した場合、成功した場合、何も入力されていない場合は、失敗を説明し、上記の手順を再開するか、原因を検索します.
インストール後にコンフィギュレーションオプションを変更する場合は、最後の3ステップconfigure、make、make installを繰り返し、Apacheを再起動して新しいモジュールを有効にする必要があります.Apacheは再コンパイルする必要はありません.
テスト結果は下図の通りです.
Linux下配置安装PHP环境_第3张图片
  、  MySql

1、公式サイトにダウンロードするmysql-5.1.65.tar.gz(注:ソースパッケージ)2、解凍tar-zxvf mysql-5.165.tar.gz 3、作成先フォルダmkdir/usr/local/mysqlつまりこのフォルダにインストールするmysql 4、構成./configure--prefix=/usr/local/mysql/
./configureでエラー:error:No curses/termcap library found
適切なパッケージのダウンロード
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
5、make 6のコンパイル、make installのインストール
7、MySQLサービスを起動しても自動的に起動しない.MySQLデータベースを初期化する必要がある.操作は以下の通りである:cd/usr/local/mysql/bin sudo./mysql_install_db--user=root注意、ここで最後のrootはデータベースを操作できるユーザーを指し、現在のユーザーであっても、新しいユーザーであっても、linux上のrootユーザーとは別のもので、自分で名前をつけることができます./mysqld_safe--user=root&このコマンドはmysqlサービスのデーモンプロセスを起動する責任を負います.また、最後の&時に必要です.デーモンプロセスがバックグラウンドで実行されることを望んでいるため、ここのrootはさっきの8、ルートユーザーのパスワードを作成します./mysqladmin-u root password‘123456’rootがパスワードを設定した場合、以下の方法を採用する./mysqladmin-u root password oldpass‘123456’9、mysql-u root-pをテストするとパスワードの入力を促すので、先ほど設定したパスワード123456でmysql>が現れたら、接続に成功したことを説明します.
   mysql> create database gywtest;   mysql> use gywtest;
   mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
   mysql> insert into student(stuname) values('Tom');
各コマンドの後ろにセミコロンがあることに注意してください.上のコマンドが成功すれば、このテストを使用することができます.
四、PHPとMySqlを結合する
1、PHPを再構成し、構成オプションを変更し、PHPインストール時の最後の3ステップconfigure、make、make installを繰り返すだけで、Apacheを再起動して新しいモジュールを有効にする必要があり、Apacheは再コンパイルする必要はありません.
2、配置
./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config注意mysql_configのパス3、makeのコンパイル
4、make installeのインストール
5、テストはページを書きます.php、apacheのwebディレクトリの下に置いて、上のコマンドで作成したデータベースをテストします
     connect('localhost','root','123456','gywtest');//クエリー$sqlstr='select*from student'の作成;//MySql$result=$mysqli->query($sqlstr);    while($row=$result->fetch_object())    {       $name=$row->stuname;       echo $name;    }?>
Fatal error: Class 'mysqli' not found in/home/lufangtao/Project/DB.php on line 3
解決方法:
/usr/local/php/bin/phpizeここで折り返し運転
エラー:
Cannot find config.m4. Make sure that you run './phpize' in the top level source directory of the module
解決方法:
PHPソースパッケージフォルダの下にあるEXTフォルダには、現在のバージョンの拡張機能が配置されています.CDに入って、必要なものは何ですか?mysqliフォルダが見えるでしょう~~~
現在のディレクトリの下でphpizeを実行
[root@localhost mysqli]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version:                     20090626
Zend Modeule Api No:             20090626
Zend Extension Api No:           220090626
Cannot find autoconf. Please check your autoconf installation and the$PHP_AUTOCONF environment variable. Then, rerun this script.
解決方法:
yum install autoconfは、上記のコマンドを再実行すればよい.
[root@localhost mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
[root@localhost mysqli]#make
[root@localhost mysqli]#make install
インストールが完了すると、次のようなディレクトリパスの拡張を求めるプロンプトが表示されます.
/opt/php/lib/php/extensions/no-debug-zts-20090626php
必要なものsoはこのディレクトリの下で、次に/opt/php/etc/の下のphpを変更する.iniファイル、mysqli拡張子、すなわち次の行を追加します.
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
ここでエラーが発生しました.
参考ブログhttp://www.cnblogs.com/wangtao_20/archive/2011/03/07/1973621.html
MySQLへの接続を拡張しない方法を解決します.
最終的にはMySQLi接続の問題は解決されませんでしたが、MySQLデータベースを使用することができます.以下はテストプログラムです.
<?php

$link=mysql_connect('localhost','root','123456');

if(!$link) echo "F!";

else echo "S!";

mysql_select_db("students") or die("Could not select database");
$query="SELECT * FROM student;";
$result=mysql_query($query) or die("Query failed");
print "<table>
"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>
";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>
";
}
print "\t</tr>
"; }
print "</table>
"; /* */ mysql_free_result($result); mysql_close(); ?> ~


 
Linux下配置安装PHP环境_第4张图片
ApacheとMySQLがシステム起動時に自動的に起動するように設定します
最後にviで/etc/rcを編集する.localファイル、ApacheとMySQLをシステム起動時に自動的に起動させる/usr/local/apache 2/bin/apachectl start/usr/local/mysql/bin/mysqld_safe --user=mysql &