當前位置:首頁 » 編程語言 » linux開發php

linux開發php

發布時間: 2022-07-25 03:40:52

1. 做php網站後台開發,在linux系統上進行更好嗎

大部分 線上環境都是linux的, 所以在linux上開發 你會方便很多!

至少你在windows上跑的正常,可能上線就會出了問題,因為兩者可能有些地方寫法有點點不同!

最主要的是 linux很多東西操作方便,本身就是伺服器,而不像windows ,我還得安裝 虛擬機,安裝環境,打開的時候,可能內存都占滿了...

2. linux怎麼搭建php開發環境

一、安裝Apache2.2.22
1、到官網下載 http://httpd.apache.org/download.cgi
2、解壓
tar -zxvf httpd-2.2.22.tar.gz
3、建立目標文件夾(注意以下所有操作都時在root用戶下執行的)
mkdir /usr/local/apache2
也就是說等下安裝的apache2要安裝到這個文件夾裡面
4、配置
回到原來解壓之後產生的文件夾
./configure --prefix=/usr/local/apache2 --enable-mole=shared
要加上後面的參數,否則無法使用php,-enable-mole=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
找到:
<IfMole dir_mole>
DirectoryIndex index.html
</IfMole>
添加:
<IfMole dir_mole>
DirectoryIndex index.html index.php
</IfMole>
找到:
#ServerName www.example.com:80
修改為:
ServerName 127.0.0.1:80或者ServerName localhost:80
記得要去掉前面的「#」
9、測試
在瀏覽器里輸入http://127.0.0.1
如果出現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、 下載
http://www.php.net/downloads.php
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提供的LoadMole指令在運行時載入到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();
?>
然後在瀏覽器里輸入http://127.0.0.1/test.php
如果出現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 mole
解決方法:
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
這里還是回出現錯誤:
參考博客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>\n";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n"; }
print "</table>\n";

/* 釋放資源 */

mysql_free_result($result);
mysql_close();

?>
~

3. 如何在linux系統下打造適合自己的PHP開發環境

一、系統約定
軟體源代碼包存放位置:/usr/local/src
源碼包編譯安裝位置(prefix):/usr/local/software_name
腳本以及維護程序存放位置:/usr/local/sbin
MySQL 資料庫位置:/var/lib/MySQL(可按情況設置)
Apache 網站根目錄:/home/www/wwwroot(可按情況設置)
Apache 虛擬主機日誌根目錄:/home/www/logs(可按情況設置)
Apache 運行賬戶:www:www
二、系統環境部署及調整
1. 檢查系統是否正常

1
2
3
4

# more /var/log/messages(檢查有無系統級錯誤信息)
# dmesg(檢查硬體設備是否有錯誤信息)
# ifconfig(檢查網卡設置是否正確)
# ping www.163.com(檢查網路是否正常)

2. 關閉不需要的服務

1
2
3
4
5
6
7
8
9
10

# ntsysv
以下僅列出需要啟動的服務,未列出的服務一律推薦關閉:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog

3. 重新啟動系統

1

# init 6

4. 配置 vim

1

# vi /root/.bashrc

在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。

1

# echo 'syntax on' > /root/.vimrc

5. 使用 yum 程序安裝所需開發包(以下為標準的 RPM 包名稱)

1
2

# 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 kerne

6. 定時校正伺服器時鍾,定時與中國國家授時中心授時伺服器同步

1

# crontab -e

加入一行:

1

*/30 * * * * ntpdate 210.72.145.44

7. 源碼編譯安裝所需包 (Source)
需要下載的文件

1
2
3
4
5
6
7

gd-2.0.34.tar.gz
libxml2-2.6.30.tar.bz2
libmcrypt-2.5.8.tar.bz2
cronolog-1.7.0-beta.tar.gz
openssl-0.9.8e.tar.gz (可選)
openssl-0.9.8e.tar.gz (可選)

7.1 GD2

1
2
3
4
5
6

# cd /usr/local/src
# tar xzvf gd-2.0.34.tar.gz
# cd gd-2.0.34
# ./configure --prefix=/usr/local/gd2
# make
# make install

7.2 LibXML2

1
2
3
4
5
6

# cd /usr/local/src
# tar xjvf libxml2-2.6.30.tar.bz2
# cd libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2
# make
# make install

7.3 LibMcrypt

1
2
3
4
5
6

# cd /usr/local/src
# tar xjvf libmcrypt-2.5.8.tar.bz2
# cd libmcrypt-2.5.8
# ./configure –prefix=/usr/local/libmcrypt
# make
# make install

7.4 Apache日誌截斷程序

1
2
3
4
5
6

# cd /usr/local/src
# tar xzvf cronolog-1.7.0-beta.tar.gz
# cd cronolog-1.7.0-beta
# ./configure –prefix=/usr/local/cronolog
# make
# make install

8. 升級OpenSSL和OpenSSH

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# cd /usr/local/src
# tar xzvf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e
# ./config --prefix=/usr/local/openssl
# make
# make test
# make install
# cd ..
# tar xzvf openssh-4.7p1.tar.gz
# cd openssh-4.7p1
# ./configure \
"--prefix=/usr" \
"--with-pam" \
"--with-zlib" \
"--sysconfdir=/etc/ssh" \
"--with-ssl-dir=/usr/local/openssl" \
"--with-md5-passwords"
# make
# make install

(1)禁用 SSH V1 協議 找到:

1

#Protocol 2,1

改為:

1

Protocol 2

(2)禁止root直接登錄,此處先建立一個普通系統用戶:

1
2

# useradd username
# passwd username

找到:

1

#PermitRootLogin yes

改為:

1

PermitRootLogin no

(3)禁用伺服器端GSSAPI,找到以下兩行,並將它們注釋:

1
2

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

(4)禁用 DNS 名稱解析,找到:

1

#UseDNS yes

改為:

1

UseDNS no

(5)禁用客戶端 GSSAPI

1

# vi /etc/ssh/ssh_config

找到:

1

GSSAPIAuthentication yes

將這行注釋掉。
最後,確認修改正確後重新啟動 SSH 服務

1
2

# service sshd restart
# ssh -v

確認 OpenSSH 以及 OpenSSL 版本正確。

三、編譯安裝L.A.M.P環境
1. 下載軟體

1

# cd /usr/local/src

下載文件mysql,apache,php,請到下面網址下載相應軟體

1
2
3

http://www.apache.org/ (推薦版本:2.2.21)
http://www.php.net/ (推薦版本:5.2.17)
http://www.mysql.com/

2. 編譯安裝MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# tar xzvf MySQL-5.0.45-linux-i686-glibc23.tar.gz
# mv MySQL-5.0.45-linux-i686-glibc23 /usr/local/
# ln -s /usr/local/ MySQL-5.0.45-linux-i686-glibc23 /usr/local/MySQL
# useradd MySQL
# chown -R MySQL:root /usr/local/MySQL/
# cd /usr/local/MySQL
# ./scripts/MySQL_install_db --user=MySQL
# cp ./support-files/MySQL.server /etc/rc.d/init.d/MySQLd
# chown root:root /etc/rc.d/init.d/MySQLd
# chmod 755 /etc/rc.d/init.d/MySQLd
# chkconfig --add MySQLd
# chkconfig --level 3 5 MySQLd on
# cp ./support-files/my-huge.cnf /etc/my.cnf
# mv /usr/local/MySQL/data /var/lib/MySQL
# chown -R MySQL:MySQL /var/lib/MySQL/
# vi /etc/my.cnf

3. 編譯安裝Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# cd /usr/local/src
# tar xjvf httpd-2.2.21.tar.bz2
# cd httpd-2.2.21
# ./configure \
"--prefix=/usr/local/apache2" \
"--with-included-apr" \
"--enable-so" \
"--enable-deflate=shared" \
"--enable-expires=shared" \
"--enable-rewrite=shared" \
"--enable-static-support" \
"--disable-userdir"
# make
# make install
# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local

4. 編譯安裝PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# cd /usr/local/src
# tar xjvf php-5.2.17.tar.bz2
# cd php-5.2.17
# ./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

5. 整合Apache與PHPP

1

# vi /usr/local/apache2/conf/httpd.conf

找到:

1

AddType application/x-gzip .gz .tgz

在該行下面添加

1

AddType application/x-httpd-php .php

找到:

1

DirectoryIndex index.html

將該行改為

1

DirectoryIndex index.html index.htm index.php

找到:

1
2
3
4

#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-info.conf
#Include conf/extra/httpd-vhosts.conf
#Include conf/extra/httpd-default.conf

去掉前面的「#」號,取消注釋。注意:以上 4 個擴展配置文件中的設置請按照相關原則進行合理配置!修改完成後保存退出。

1

# /usr/local/apache2/bin/apachectl restart

6. 查看確認L.A.M.P環境信息、提升 PHP 安全性
在網站根目錄放置 phpinfo.php 腳本,檢查phpinfo中的各項信息是否正確。
確認 PHP 能夠正常工作後,在 php.ini 中進行設置提升 PHP 安全性。

1

# vi /etc/php.ini

找到:

1

disable_functions =

設置為:

1
2

phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

4. 怎麼在linux運行php文件

1、打開我們的linux命令行,准備好。

2、找到php的安裝目錄,主要是找到linux環境下,php可執行文件的目錄。如圖所示。筆者的目錄為/opt/lampp/bin/php,將此目錄記下,備用。

3、找到要運行的php文件所在的目錄,隨便寫點php代碼就可以,在此筆者已經准備好。/opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php,將此目錄記下,接下來就要正式開始運行了。

4、打開剛剛第一步打開的linux命令行,輸入/opt/lampp/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php(即依次輸入剛剛的兩個目錄)注意兩個目錄中間有空格。

5、按下回車,可以看到,php文件已經正確執行了。

5. 阿里雲伺服器 linux 怎麼安裝php開發環境

1、MySQL的安裝
在MySQL官網下載MySQL的安裝文件MySQL-server-4.0.20-0.i386.rpm,執行下面的命令完成MySQL的安裝。
rpm -ivh MySQL-server-4.0.20-0.i386.rpm
在沒有設置MySQL密碼的情況下,通過以下命令測試MySQL是否安裝成功。
mysql -u root
出現類似welcome to the mysql mointor. commands end with;or \g的字樣,說明安裝成功。
2、Apache的安裝
從Apache的官網下載unix版本的壓縮包,以httpd-2.0.52.tar.gz為例,假設資源包放在/usr/local/src下,進入這個目錄後解壓縮,命令如下:
cd /usr/local/src
tar -zxvf httpd-2.0.52.tar.gz
解壓縮後,進入目錄httpd-2.0.52,執行以下命令:
./configure --prefix=/usr/local/apache2 --enable--mole=so
其中--prefix=/usr/local/apache2用來指定Apache的安裝目錄。接下來進行編譯,執行一下命令完成安裝。
make
mae install
3、配置php開發環境的安裝
1)從php官網下載php5.1.4.tar.gz的壓縮包,解壓縮該文件包,命令如下:
tar -zxf php5.1.4.tar.gz
2)轉到解壓縮後的目錄,執行以下命令完成php安裝目錄等相關配置:
./configure --prefix=/usr/local/php -with-mysql=/var/lib/mysql
3)接著編譯PHP,命令如下:
make
make install
4)復制當前目錄下的文件PHP大安裝目錄的lib目錄下,並改名為php.ini,命令如下:
cp php.ini-dist /usr/local/php/lib/php.ini

6. linux下開發PHP比window下開發PHP有什麼好處 - 技術問答

一般建議在Windows下開發,
Linux下測試(如果生產環境是Linux的話)畢竟在Windows下的開發效率普遍比Linux下的高效得多,
特別是中大型項目但畢竟程序在Windows和Linux下還是有略微的不同(比如文件名或mysql的大小寫敏感,
比如某些擴展模塊特性等),
為了在實際生產環境中不會存在這些潛在的BUG,
測試很有必要在類生產環境下測試

7. 基於linux的php開發工具有哪些

毫無疑問,最優選擇: PHP IDE: phpstorm Mysql 管理: Sequel pro / phpMyAdmin 瀏覽器: Chrome + Postman 版本控制: SmartGit Redis: phpRedisAdmin PHP環境:apt-get / yum

8. 在linux下編寫php有什麼好處

主要好處:

  1. 編輯器不會有格式不統一問題。

  2. linux下配置lamp環境非常方便(當然,windows下也可以直接安裝wamp這種軟體,但linux下使用起來更方便)

  3. linux平台下有很多開發工具,比如git(若在windows下啟用terminal還是有點小麻煩)等等。

  4. 不會hold不住誘惑,linux平台下游戲相對少,更容易專注編程


補充:

其實,如果自己能堅持,在windows平台下也可以寫好程序。

9. linux下PHP開發工具有哪些

毫無疑問,最優選擇:
PHP
IDE:
phpstorm
Mysql
管理:
Sequel
pro
/
phpMyAdmin
瀏覽器:
Chrome
+
Postman
版本控制:
SmartGit
Redis:
phpRedisAdmin
PHP環境:apt-get
/
yum

10. 如何在linux安裝php開發環境

我一般會選用源碼安裝 php,安裝 php 的過程指定要安裝的擴展,但是避免不了缺少某個擴展未安裝導致程序運行報錯的問題。以 fileinfo 為例,介紹一下怎麼添加 php 擴展。
1. 准備
通常遇到報錯:xxx function undefined,而這個函數是系統函數的話,那一定是你缺少某個擴展。添加擴展也非常簡單。首選要確認當前的 php 是哪個版本,不同版本的 php 擴展會有些許出入。然後找到 Php 源碼目錄,也就是從網上下載下來並且解壓的 php 文件包。添加擴展的時候需要在源碼包裡面去執行命令。
2. 安裝 fileinfo 擴展
1. 確認 php 版本
php -v
# PHP 7.4.4 (cli)

2. 找到 php 可執行文件的位置
whereis php
# php: /usr/local/php /usr/local/php/bin/php

可以看出 php 執行文件在 /usr/local/php/bin 目錄裡面
那麼嘗試執行 phpize,保證這個文件存在,phpize 命令在添加擴展的時候需要用到
/usr/local/php/bin/phpize -v
# Configuring for:
# PHP Api Version: 20190902
# Zend Mole Api No: 20190902
# Zend Extension Api No: 320190902

3.進入php源碼目錄
我的習慣是網路下載的軟體會放在 /usr/local/src 下面,
cd /usr/local/src/php-7.4.4
cd /etc
cd fileinfo

擴展都在源碼目錄的 etc 下面,裡面有 curl,gd,ftp 等等擴展目錄,我要安裝 fileinfo,所以到 fileinfo 目錄裡面
4.開始安裝
確定目錄下面有 config.m4 文件,如果沒有,應該會有 config0.m4 文件,把 config0.m4 復制一份為 config.m4,如果沒有這個文件,會報錯:can not found config.m4
/usr/local/php/bin/phpize
./configure
make && make install

如果這幾行命令運行下來都沒有報錯,那麼說明擴展文件已經生成,並且已經自動移入相應位置。接下來就是修改 php.ini,追加 extension=fileinfo.so 到 php.ini 中。
5.修改php.ini,載入擴展文件
查看 php.ini 的位置
php -i | grep php.ini
#Configuration File (php.ini) Path => /usr/local/php/etc
#Loaded Configuration File => /usr/local/php/etc/php.ini

可以看到 php.ini 的位置: /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
#添加extension=fileinfo.so,保存
php -m | grep fileinfo
#fileinfo

看到輸出 fileinfo,至此,fileinfo 擴展安裝完畢!另外可以使用 pecl 命令安裝,更方便快捷!

熱點內容
dag見證伺服器是虛擬ip嗎 發布:2025-01-28 10:07:04 瀏覽:605
dz上傳的圖片不顯示 發布:2025-01-28 09:37:42 瀏覽:887
joinsql多表 發布:2025-01-28 09:23:26 瀏覽:729
php數組循環賦值 發布:2025-01-28 09:23:25 瀏覽:134
android42系統 發布:2025-01-28 09:21:59 瀏覽:902
菜單設計c語言 發布:2025-01-28 09:21:54 瀏覽:274
sql多表查詢優化 發布:2025-01-28 09:21:05 瀏覽:503
iphone6便捷訪問 發布:2025-01-28 09:05:11 瀏覽:177
四位驗證密碼是多少 發布:2025-01-28 08:56:13 瀏覽:809
筆記本顯卡如何配置 發布:2025-01-28 08:49:49 瀏覽:603