解決linux中php,Linux中

本文目錄一覽:

在linux系統中怎麼搭建php環境

Linux下配置安裝PHP環境

參考別人的做法,遇到問題上網查,下面就是安裝步驟.

一、安裝Apache2.2.22

1、到官網下載

2、解壓

tar -zxvf httpd-2.2.22.tar.gz

3、建立目標文件夾(注意以下所有操作都時在root用戶下執行的)

mkdir /usr/local/apache2

也就是說等下安裝的apache2要安裝到這個文件夾裡面

4、配置

回到原來解壓之後產生的文件夾

./configure –prefix=/usr/local/apache2 –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

原文章地址:

另外一種解決方法為:

分別安裝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

修改為:

ServerName 127.0.0.1:80或者ServerName localhost:80

記得要去掉前面的「#」

9、測試

在瀏覽器里輸入

如果出現It Works!說明成功。這是我的測試結果:O(∩_∩)O哈哈~

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

測試結果如下:

二、安裝PHP

1、 下載

2、解壓

tar -zxvf php-5.3.16.tar.gz

3、建立目標文件夾

mkdir /usr/local/php

也就是說等下安裝的php要安裝到這個文件夾裡面

4、配置

回到原來解壓後的文件夾

./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs

注意這裡有一個-with-apxs2=/usr/local/apache/bin/apxs選項,其中apxs是在安裝Apache時產生的,apxs是一個為Apache HTTP伺服器編譯和安裝擴展模塊的工具,使之可以用由mod_so提供的LoadModule指令在運行時載入到Apache伺服器中。我的理解是通過這個工具把PHP模塊動態載入到Apache中

出現錯誤:configure: error: xml2-config not found. Please check your libxml2 installation.

運行yum install libxml2,然後再運行yum install libxml2-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,裡面的內容如下:

?php

phpinfo();

?

然後在瀏覽器里輸入

如果出現php的相關配置,成功,如果什麼都沒有輸入,說明失敗,重新以上步驟或者查找原因

如果決定在安裝後改變配置選項,只需重複最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效。Apache不需要重新編譯。

測試結果如下圖:

三、安裝MySql

1、下載

到官網下載mysql-5.1.65.tar.gz(注意是源碼包)

2、解壓

tar -zxvf mysql-5.1.65.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安裝時的最後的三步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、測試 寫一個頁面test.php,放在apache的web目錄下,測試上面用命令創建的資料庫

?php

$mysqli=new mysqli();

$mysqli-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

所需的mysqli.so便會在此目錄下,接下來修改/opt/php/etc/下的php.ini文件,加入mysqli擴展,即加入如下一行:

extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so

這裡還是回出現錯誤:

參考博客

解決不用擴展連接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\n”;

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

print “\ttr\n”;

foreach ($line as $col_value) {

print “\t\ttd$col_value/td\n”;

}

print “\t/tr\n”; }

print “/table\n”;

/* 釋放資源 */

mysql_free_result($result);

mysql_close();

?

~

linux下,php網站的網頁內容顯示不出來,有的能顯示,沒報錯,就是空白的,怎麼解決

一般來說空白的內容的php頁面應該是php錯誤。默認的lamp配置都是比較嚴格的,沒有顯示錯誤。你可以這樣配置:

1、修改php.ini(如:/etc/php5/apache2/php.ini)文件中的:

error_reporting = E_ALL

display_errors = On

2、在php頁面中添加

error_reporting(E_ALL);

ini_set(“display_errors”,”On”);

這兩個都是開始錯誤提示。

如何解決Linux環境下訪問PHP頁面時,頁面上顯示資料庫代碼的問題

出現此問題的原因是由於在.htaccess文件中添加了下面兩行:

AddHandler application/x-httpd-php53 .php

AddHandler application/x-httpd-php54 .php

在這些行的開始位置插入#注釋掉之後就可以正常使用了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254426.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 17:41
下一篇 2024-12-14 17:41

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • 如何解決linux jar包 invalid or corrupt jarfile問題

    對於許多開發人員和系統管理員在Linux環境下使用Java開發過程中遇到的一個常見的問題是 invalid or corrupt jarfile(無效或損壞的jar文件)錯誤。當您…

    編程 2025-04-27
  • 在Linux上安裝JRE並配置環境變數

    本文將從以下幾個方面為您詳細闡述如何在Linux系統上,通過自己賬戶安裝JRE,並且配置環境變數。 一、安裝JRE 在進行安裝前,我們需要下載JRE的安裝包並解壓,可以從官方網站下…

    編程 2025-04-27
  • GTKAM:Linux下的照片管理器

    GTKAM是用於Linux操作系統的一款照片管理器,它支持多種相機及存儲設備,並提供了一系列強大的工具,讓用戶可以方便地瀏覽、管理、編輯和導出照片。本文將從多個方面對GTKAM進行…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27

發表回復

登錄後才能評論