linuxmysqlphpini
A. linux 怎麼升級默認裝好的php和mysql到5.0
是你的MYSQL路徑設置錯了....
注意大小寫的區分,比如你的MYSQL安裝包是大寫的 。
而你的PHP 配置路徑 mysql 小寫 那麼就會產生這樣的問題.
建議你重新安裝PHP 和 MYSQL
如果你要整體整合apache2 mysql5.0 php5
在編譯之前還有升級一些支持庫
執行命令:# yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel
我給寫個PHP和MYSQL的編譯過程.
這里要注意的是,需要先安裝mysql才能裝PHP
[mysql] 安裝路徑: /usr/local/mysql //資料庫目錄你可以自己設置
比如你需要安裝的MYSQL為:mysql-5.0.45-linux-i686.tar.gz
將mysql-5.0.45-linux-i686.tar.gz 放到 /usr/local/src 下
#cd /usr/local/src
#tar -zvxf mysql-5.0.45-linux-i686.tar.gz
#mv mysql-5.0.45/ /usr/local/mysql //移動
#groupadd mysql //創建mysql用戶組
#cd /usr/local/mysql
#useradd -g mysql mysql //創建 mysql用戶
#chown -R mysql . //注意後面有個 「.」
#chgrp -R mysql .
#scripts/mysql_install_db --user=mysql //初始化資料庫
#chown -R root . //給root 最高許可權
#chown -R mysql data //讓mysql 對data [資料庫]有最高許可權
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
// 讓mysql服務隨系統啟動
#chown root:root /etc/rc.d/init.d/mysqld //讓root有啟動許可權.
#chmod 755 /etc/rc.d/init.d/mysqld
#cp ./support-files/my-huge.cnf /etc/my.cnf //移動配置文件.
#mv /usr/local/mysql/data /var/lib/mysql //這一步是移動資料庫。你也可以不需要執行這一步.....如果安裝出錯,最好不要執行這一步,因為資料庫許可權經常會引起mysql運行不穩定
#bin/mysqld_safe --user=mysql & //連接資料庫,如果安裝成功.
會有如下提示:Starting mysqld daemon with databases from /var/lib/mysql //後面那是資料庫路徑
[PHP] 安裝路徑: /usr/local/php
#cd 到安裝包所在目錄
# tar xjvf 你的PHP版本文件名
# cd php-X.X.X //這里就是你解壓後的那個目錄名
值得注意的是php的安裝需要一些庫.
就是:libxml gd2
# ./configure \
"--prefix=/usr/local/php" \
"--with-apxs2=/usr/local/apache2/bin/apxs" \
"--with-config-file-path=/usr/local/php/etc" \
"--with-mysql=/usr/local/mysql" \
"--with-libxml-dir=/usr/local/libxml2" \
"--with-gd=/usr/local/gd2" \
"--with-jpeg-dir" \
"--with-png-dir" \
"--with-bz2" \
"--with-freetype-dir" \
"--with-iconv-dir" \
"--with-zlib-dir " \
"--with-openssl=/usr/local/openssl" \
"--with-mcrypt=/usr/local/libmcrypt" \
"--enable-soap" \
"--enable-gd-native-ttf" \
"--enable-ftp" \
"--enable-mbstring" \
"--enable-exif" \
"--disable-ipv6" \
"--disable-cgi" \
"--disable-cli"
# make
# make install
# mkdir /usr/local/php/etc
# cp php.ini-dist /usr/local/php/etc/php.ini
B. 在Linux環境下,APACHE和PHP配置文件怎麼設置(RPM包)
LAMP配置與應用 LAMP(Linux+Apache+Mysql+Php)配置:
Fedora 5已默認安裝了php,可以使用rmp -q php查看其版本號
安裝mysql客戶端mysql(與perl-DBI包有依賴關系,要先安裝)
安裝mysql服務端mysql-server(與perl-DBD包有依賴關系,要先安裝)
安裝php支持mysql的模塊php-mysql(與php-pdo包有依賴關系,要先安裝)
Mysql的web管理工具phpMyAdmin
安裝
下載並解壓phpMyAdmin的包到某個web目錄(或為phpMyadmin建立虛擬主機,將該包解壓到虛擬主機目錄)
#tar -xzvf phpMyAdmin-2.10.0.2-all-languages.tar.gz
執行下列命令:
#cd phpMyAdmin
#mkdir config #建立一個用來保存配置的目錄
#chmod o+rw config #更改該目錄的許可權為屬主可讀寫
#cp config.sample.inc.php config/ #將當前目錄下的config.sample.inc.php復制到config
#chmod o+w config/config.inc.php # 使該文件的屬主具有寫許可權
運行安裝向導頁面
在瀏覽器中打開scripts/setup.php,按照向導頁面添入相關信息,最後單擊「保存」,則所做的配置保存在config/config.inc.php中。(註:如果config子目錄沒有建立,或沒有對該文件的寫許可權的話,則會出現"Cannot load or save configuration."的提示,這種情況下應選擇「DownLoad」下載到本地,再上傳到phpMyAdmin的主目錄下 ),主要有以下樣目需要添寫:
User for config auth__________________
Password for config auth__________________
phpMyAdmin control user____________________
phpMyAdmin control user password______________________
phpMyAdmin database for advanced features__________________
配置成功保存的話,執行下面命令
#mv config/config.inc.php . #將配置文件移動到phpMyAdmin的主目錄
#chmod o-r config.inc.php #為安全起見,移去該文件的讀寫許可權
在瀏覽器中打開phpMyAdmin對應的站點
phpbb應用
註:以下頭3步有關mysql的操作也可以在webmin中完成.
mysql的賬號管理
1) 要設置root用戶的密碼為123456,則在系統提示符下執行下面的命令:
#mysqladmin -u root -p password "123456"
2) 要在mysql命令行客戶端,設置root用戶的密碼為123456,則需執行以下命令:
mysql> use mysql;
mysql> update user set Password=password('123456') where User='root';
mysql> flush privileges;
3) 如果要新增用戶u1,給他授予對資料庫bb中所有表(*)的所有許可權(all),密碼設為888888,則在mysql提示符下:
mysql> grant all on bb.* to 'u1'@'localhost' identified by '888888';
如果root用戶有密碼,則進入mysql客戶端需用下面的命令:#mysql -u root -p
新建phpbb論壇所要用到的資料庫:mysql>create database XXX;
為phpbb所在目錄新建虛擬主機
在瀏覽器中訪問該虛擬主機,以安裝phpbb
注意:在安裝結尾,選擇下載配置文件,自行上傳.然後刪除install,contrib兩個目錄
php配置實例
1.使用Apache配置基本的web站點,使客戶端瀏覽簡體中文網頁能正常顯示、新增支持的主頁文件index.htm index.php default.htm default.html。最後要能在其它計算機上通過域名訪問,比如www.yyy.net03.org。
2.在web站點下實現虛擬目錄,即web站點的子目錄,該子目錄與主目錄不一定是上下目錄關系.同時,允許該目錄有目錄列表功能(即在沒有找到主文件件的時候,顯示當前目錄下的列表).
3.實現Linux用戶個人站點.
4.配置多個基於名稱的虛擬主機,比如www1.yyy.net03.org,www2.yyy.net03.org。最後要能在其它計算機上通過域名訪問。
5.配置多個基於IP的虛擬主機,比如lit.yyy.net03.org,mil.yyy.net03.org。最後要能在其它計算機上通過域名訪問。
6.配置LAMP環境
7.配置phpbb論壇,並使該論壇可以通過形如bbs.yyy.net03.org的形式訪問。
(*)8. 刪除系統原有Apache、php、Mysql項目,使用源文件安裝最新版本的Apache、php、Mysql
利用源代碼安裝LAMP
首先要在相關網站獲取Apache、Mysql、Php的源碼包,一般擴展名為xxx.tar.gz.
刪除系統原有Apache、php、Mysql項目,可能要用到下面的命令
# rpm -e xxx
# rpm -e xxx nodeps #不考慮依賴關系而刪除xxx包
# rpm -e xxx yyy zzz #刪除xxx,yyy,zzz包
如果無法刪除一個RPM包,可以使用以下兩步:
#rpm -f /var/lib/rpm
#rpm --rebuilddb
或:
#rpm -ivh --justdb xxx
#rpm -e xxx
1. 安裝Apache(httpd-2.2.8)
# ./configure --enable-so
# make
# make install
# /usr/local/apache2/bin/apachectl start
2. 安裝Mysql(Mysql-5.0.22)
1) 建立用戶及組,如果在/etc/passwd中已有該用戶,則下列操作可以省略
shell> groupadd mysql
shell> useradd -g mysql mysql
2) 解壓、配置編譯安裝
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql #配置(指定mysql安裝路徑)
shell> make #編譯
shell> make install #安裝
3) 配置mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf #建立mysql配置文件
shell> cp support-files/mysql.server /etc/init.d/ #建立mysql控制腳本
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql #建立mysql系統資料庫
shell> chown -R root . #更改當前目錄及子目錄所有者
shell> chown -R mysql var #更改var目錄及子目錄所有者
shell> chgrp -R mysql . #更改當前目錄及子目錄所屬組
4) 啟動mysql
shell> bin/mysqld_safe --user=mysql & #以後台模式運行mysqld服務
shell> chkconfig --list | less #查看服務列表
shell> chkconfig --add mysql.server #將mysql.server添加到服務列表
shell> chkconfig --list | less #查看服務列表
shell> service mysql.server restart
shell> /usr/local/mysql/bin/mysqladmin -u root -p password '888888' #更改mysql管理用戶root的密碼
3. 安裝php(php5 on Apache 2 Shared Mole Version)
1) tar -zxvf php-NN.tar
2) cd php-NN
3) ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
4) make
5) make install
6) 建立php配置文件php.ini
# cp php.ini-dist /usr/local/lib/php.ini
7) 編輯http配置文件 httpd.conf 使之載入PHP模塊
對於 PHP 4,添加下句:
LoadMole php4_mole moles/libphp4.so
對於 PHP 5,添加下句:
LoadMole php5_mole moles/libphp5.so
8) 編輯http配置文件 httpd.conf,使之能解析擴展名為php的文件
AddType application/x-httpd-php .php .phtml
9) 編輯http配置文件 httpd.conf,修改主頁文件
DirectoryIndex index.php index.htm index.html
10) 重啟httpd服務
# /usr/local/apache2/bin/apachectl start
或
# /usr/local/apache/bin/apachectl -k start
11) 編輯index.php文件,並在瀏覽器中訪問該站點,如果出現關於php的當前配置信息(其中有mysql的配置項),表示LAMP安裝成功。
$vi index.php
<?php
phpinfo()
?>
C. linux下的php到底是怎麼載入mysqli模塊的
添加擴展的基本步驟:
1、進入PHP源代碼目錄:# cd /tmp/php-5.2.14/
2、再進入要添加的mysqli擴展源碼目錄:# cd ext/mysqli/
2、調用已經編譯好的php裡面的phpize:# /usr/local/php/bin/phpize
3、然後configure:# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/MySQL/bin/mysql_config
(/usr/local/mysql 為mysql的安裝目錄)
4、make && make install
5、編譯之後,自動把mysqli.so放到了默認的php擴展目錄下,我的為 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
(phpinfo可查看或者執行命令/usr/local/php/bin/php-config --extension-dir )
再修改php.ini 找到extension_dir 默認路徑為 extension_dir="./" 我修改後才啟動載入的
在下面添加extension = "mysqli.so" 保存即可
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mysqli.so"
6、重啟apache:# service httpd restart
D. linux下PHP載入不了mysql函數: PHP Fatal error: Call to undefined function mysql_get_server_info()
顯然不對
extension=php_mysql.dll
extension=php_mysqli.dll
這個東西是windows環激扮談境明碰裡面用的
linux的php.ini不缺飢要打開這兩個
E. 怎樣架構linux+php+Apache+mysql環境
由於php是一個zip文件(非install版),安裝較為簡單
解壓就行.把解壓的 php-5.2.1-Win32 重命名為 php5.並復制到C盤目錄下.即安裝路徑為 c:\php
1 找到php目錄下的 php.ini.recommended (或者php.ini-dist)文件,重命名為 php.ini
並復制到系統盤的windows目錄下(以c:\windows為例).
2 再把php目錄下的php5ts.dll,libmysql.dll復制到目錄 c:\windows\system32下.
3 把php\ext目錄下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件復制到c:\windows\system32下
注意:不要把 php_mysql.dll 和 php_mssql.dll 混淆
如果沒有載入 php_gd2.dll php將不能處理圖像.沒有載入php_mysql.dll php將不支持mysql函數庫
php_mbstring.dll在後面使用phpmyadmin時支持寬字元
配置php並關聯MySQL
1 設置擴展路徑
查找 extension_dir 有這么一行
extension_dir = "./"
將此行改成
extension_dir = "C:\php\ext"
其中C:\php是你安裝php的路徑.路徑不正確將無法載入dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分號去掉)
2 分別查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3項前面的分號去掉,這樣apache啟動時就可以載入這些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl 混淆
當然前面我們也把這些dll復制到system32下了.(大家在安裝的過程中都注意到如何把一些dll載入入來了.
以後要載入一些dll,比如說php_mysqli.dll,也就懂得怎麼載入了)
3 設置會話保存路徑
查找session.save_path 有這么一行
; session.save_path = "N;/path"
在此行後加入一行(注意是加入一行,不是加到後面)
session.save_path = "C:\WINDOWS\Temp"
保存到你的臨時目錄下,這里完全可以保存到windows臨時目錄Temp下
4 是否顯示錯誤 display_errors
出於安全性考慮,display_errors 有些版本也默認為 Off.
就是說在調試時,如果php代碼有誤,就只出現一個空白頁.而不會顯示出錯原因和出錯行數.
這樣調試起來將非常不便,建議根據自己需要修改
查找
display_errors = Off (注意不是 ; - display_errors = Off [Security])
改成
display_errors = On
5 php5時差問題
<?php echo date("Y-m-d H:i:s");?>時間相差八小時
為什麼呢?PHP5系列版本新增了時區設置,默認為格林威治時間,與中國所在的東8區正好相差8個小時
查找date.timezone有這么一行
;date.timezone =
將;去掉,改成、
date.timezone = PRC
其中PRC:People's Republic of China 中華人民共和國,
PHP的文件上傳問題
文件上傳成敗關鍵的幾點php.ini配置
文件上傳的程序沒有錯,但php的配置很可能導致文件不能上傳成功.
一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
另一種方法是可以在php程序中加入
set_time_limit();
來設定頁面最久執行時間.
set_time_limit(0);//0表示沒有限制
修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.
active perl 需要安裝到c:/perl
ZendOptimizer 安裝時把 apache 伺服器關掉,在過程中要指定 apache 和 php 的安裝路徑
在Win2K環境下安裝Apache PHP
軟體需求:
Windows 2000 Professional ; Apache 1.3.19 (apache_1.3.19-win32-src-r2.msi) ; PHP 4.0.5 (php-4.0.5-Win32.zip) ; MySQL 3.23.38 (mysql-3.23.38-win.zip)
安裝過程
將 Apache 1.3.19 安裝到 C:\Web\apache\ 目錄下。
將 PHP 4.0.5 解壓到 C:\Web\php\ 目錄下。
將 MySQL 3.23.38 安裝到 C:\Web\mysql\ 目錄下。
將 C:\web\php\php4ts.dll 文件拷貝到 C:\WINNT\system32\ 目錄下。
將 C:\web\php\php.exel 文件拷貝到 C:\WINNT\ 目錄下。
將 C:\web\php\php.ini-dist 文件拷貝到 C:\WINNT\ 目錄下,並將php.ini-dist 更名為 php.ini。
運行 C:\Web\apache\Apache\Apache.exe -i –n
運行 C:\Web\mysql\bin\mysqld-nt.exe --install
編輯 C:\WINNT\php.ini
找到 「extension_dir = ./ 」 欄位,將其改為 extension_dir = "C:\myphp\php\extensions"。
運行 C:\Web\apache\Apache\Apache.exe -i –n
編輯 C:\Web\apache\Apache\conf\httpd.conf
找到「 #BindAddress*」 欄位
將其改為 BindAddress 127.0.0.1 。(如果主機有固定IP地址,此處改為主機IP地址。如 BindAddress 211.101.152.106),找到 「ServerName」 欄位,將其改為 ServerName localhost。(如主機有固定主機名,此處改為主機的主機名。如ServerName bn001 )。
找到「 ScriptAlias /cgi-bin/ "C:/Web/apache/Apache/cgi-bin/" 」 欄位,在其下面加入 ScriptAlias /php/ "C:/Web/php/" 。找到 「# And for PHP 4.x, use: 」 欄位,在其後面加入:
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action Application/x-httpd-php "c:/Web/php/php.exe"
找到「 #LoadMole usertrack_mole moles/mod_usertrack.so」 欄位,LoadMole php4_mole c:/web/php/sapi/php4apache.dll
UNIX下的PHP環境配置
所需軟體
php-3.0.14-win32.zip;php-3.0.14-win32.zip;mysql-shareware-3.22.32-win.zip
所有軟體均安裝在/export/home/guoj/下,也可在其他目錄。
安裝mysql
gzip -dc mysql-3.22.30.tar.gz | tar xvf-
cd mysql-3.22.30
./configure -prefix= /export/home/guoj/mysql
Make
make install
scripts/mysql_install_db
cd../mysql/bin
bin/safe_mysqld & 安裝php apache
gzip -dc apache_1.3.11.tar.gz | tar xvf-
gzip -dc php-3.0.11.tar.gz | tar xvf-
cd apache_1.3.11
./configure -prefix= /export/home/guoj/www
cd ../php-3.0.11
./configure -with-apache= /export/home/guoj/apache_1.3.11
-with-mysql= /export/home/guoj/mysql -enable-track-vars
Make
make install
cd ../apache_1.3.11
./configure --prefix= /export/home/guoj/www
--activate-mole=src/moles/php3/libphp3.aP
Make
make install
cd ../php-3.0.11
cd ../php3.ini-dist php3.ini
vi php3.ini修改php3.ini
doc_root=/export/home/guoj/www/htdocs/
extension_dir=/export/home/guoj/php-3.0.11/
extension=php3_mysql.dllcp php3.ini/usr/local/lib/php3.inivi ../www/conf/httpd.conf
加上以下幾句:
AddType application/x-httpd-php3 .php3
<Directory "/export/home/guoj/php-3.0.11/">
Options FollowSymLinks
AllowOverride None
</Directory>../www/bin/apachectl start
F. 怎麼在linux伺服器上配置php環境
建議多使用網路搜索,網上這樣的帖子特別多。
Linux的分支比較大,不過常使用的也就Centos和Ubuntu。下面我貼出來在Centos上面搭建php環境的方法,命令有所不同,不過差異不大。
安裝apache:
yum install httpd httpd-devel
啟動apache:
/etc/init.d/httpd start
此時輸入伺服器的IP地址,應該看到apache的服務頁面,埠不用輸,apache默認就是使用80埠
安裝mysql:
yum install mysql mysql-server
啟動mysql:
/etc/init.d/mysqld start
安裝php
yum install php php-devel
重啟apache使php生效
/etc/init.d/httpd restart
此時可以在目錄:/var/www/html/下建立一個PHP文件
代碼:
<?php phpinfo(); ?>
然後訪問這個文件,就能看到PHP的一些信息,php.ini配置文件的路徑可以在這個頁面上看到
安裝php的擴展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安裝完擴展之後需要再次重啟apache
/etc/init.d/httpd restart
測試mysql是否鏈接成功的php代碼
<?php
$con = mysql_connect("10.0.@.@@","@@","@@");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
$result = mysql_query("SELECT * FROM sys_user");
while($row = mysql_fetch_array($result))
{
echo $row['UserName'] . " " . $row['PassWord'] . " " . $row['id'];
echo "<br />";
}
mysql_close($con);
?>
可以把上面的代碼傳入目錄/var/www/html/
就可以看到執行情況