導航:首頁 > 編程語言 > linuxphpinclude

linuxphpinclude

發布時間:2022-07-23 05:26:56

1. 如何在linux下安裝多個不同版本的php

Linux下部署php多版本共存
背景說明
自php7問世,身為最新版本控的我馬上升級體驗,但是由於伺服器上還有舊程序在運行,只好部署一個php多版本共存環境。
現有環境是lnmp
- CentOS 6.7
- nginx 1.10.1
- mariadb-10.0.26
- php 7.0.8
為了更好兼容舊的php程序,推薦使用5.4.45. 主要是兼容mysql擴展。
開始安裝
首先要下載php-5.4.45.tar.gz源碼包。
通過源碼安裝
# tar xzvf php-5.4.45.tar.gz
# cd php-5.4.45

# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl

# make ZEND_EXTRA_LIBS='-liconv'
# make install
# cp php.ini-proction /usr/local/php/etc/php.ini

------------------------------------------------------------------------------------------------
php.ini 配置
post_max_size = 50M
upload_max_filesize = 50M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=0
max_execution_time = 300
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
------------------------------------------------------------------------------------------------
php-fpm.conf 配置
------------------------------
# vim /usr/local/php/etc/php-fpm.conf1
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
error_log = /usr/local/php54/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php54-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

----------------------------------------------------------------------------------
啟動 php-fpm
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm
# chmod +x /etc/init.d/php54-fpm
# /etc/init.d/php54-fpm start
-------------------------------------------------------------------------------------------
修改nginx配置,對需要的服務配置使用php-5.4.45
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php54-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
----------------------------------------------------------------------------------------
配置php-5.4.45 的php54-fpm 開機自動啟動
# chkconfig --add php54-fpm
# chkconfig php54-fpm on

2. linux中 php怎樣開啟pdo擴展

假設php目錄為/usr/local/php

mysql目錄為/usr/local/mysql

cd ext/pdo

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --enable-pdo=shared

make && make install

成功則出現

Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/

Installing header files: /usr/local/php//include/php/

Installing PDO headers: /usr/local/php//include/php/ext/pdo/

說明在/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目錄下生成了pdo.so文件

cd ext/pdo_mysql

/usr/local/php/bin/phpize

1./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

make && make install

成功則出現

Installing shared extensions: /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/

說明的/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/目錄下生成了pdo_mysql.so文件

extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so";

extension="/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/pdo.so";

/etc/init.d/php-fpm restart

更多問題到問題求助專區http://bbs.hounwang.com/

3. php在linux的伺服器下的路徑問題

你的/include/header.php文件在何處?

通常這種情況除了路徑錯誤外,也可能是目錄許可權有問題,先指明你的header文件在什麼目錄。

是/www/users/gzforyou.com/include目錄中嗎?如果是該目錄,那麼是../include/header.php。

4. linux下php包含文件的最優解決方法

從來沒遇到你這個問題,可能是沒想你這樣嵌套包含文件,liunx和window應該死一樣的,都可以用相對目錄的,看你出現了這個問題,就上網搜了下,果然有這個問題,把網址發出來參考下,看能不能解決你的問題http://hi..com/cwbdde/blog/item/76436b266d51541e8b82a1c6.html http://www.xiaoxiaozi.com/2009/07/29/1264/

5. PHP執行linux系統命令的常用函數使用說明

system函數
說明:執行外部程序並顯示輸出資料。
語法:string
system(string
command,
int
[return_var]);
返回值:
字元串
詳細介紹:
本函數就像是
C
語中的函數
system(),用來執行指令,並輸出結果。若是
return_var
參數存在,則執行
command
之後的狀態會填入
return_var
中。同樣值得注意的是若需要處理用戶輸入的資料,而又要防止用戶耍花招破解系統,則可以使用
EscapeShellCmd()。若
PHP
以模塊式的執行,本函數會在每一行輸出後自動更新
Web
伺服器的輸出緩沖暫存區。若需要完整的返回字元串,且不想經過不必要的其它中間的輸出界面,可以使用
PassThru()。
實例代碼:
復制代碼
代碼如下:
<
?php
$last_line
=
system('ls',
$retval);
echo
'Last
line
of
the
output:
'
.
$last_line;
echo
'<hr
/>Return
value:
'
.
$retval;
?>
exec函數
說明:執行外部程序。
語法:string
exec(string
command,
string
[array],
int
[return_var]);
返回值:
字元串
詳細介紹:
本函數執行輸入
command
的外部程序或外部指令。它的返回字元串只是外部程序執行後返回的最後一行;若需要完整的返回字元串,可以使用
PassThru()
這個函數。
要是參數
array
存在,command
會將
array
加到參數中執行,若不欲
array
被處理,可以在執行
exec()
之前呼叫
unset()。若是
return_var

array
二個參數都存在,則執行
command
之後的狀態會填入
return_var
中。
值得注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統,則可以使用
EscapeShellCmd()。
實例代碼:
復制代碼
代碼如下:
<
?php
echo
exec('whoami');
?>
popen函數
說明:打開文件。
語法:int
popen(string
command,
string
mode);
返回值:
整數
詳細介紹:
本函數執行指令開檔,而該文件是用管道方式處理的文件。用本函數打開的文件只能是單向的
(只能讀或只能寫),而且一定要用
pclose()
關閉。在文件操作上可使用
fgets()、fgetss()

fputs()。若是開檔發生錯誤,返回
false
值。
實例代碼:
復制代碼
代碼如下:
<
?
$fp
=
popen("/bin/ls","r"
);
?>
PHP監控linux伺服器負載
在實際項目的應用中,我們由於各種條件的現實,利用PHP來實現伺服器負載監控將是一種更為靈活的方式。
由於Web
Server以及PHP的實現方式所限,我們在現實環境中很難利用PHP去調用一些Linux中需要root許可權才能執行的程序,對此,我從網上找到另外一種方式來繞開這個限制。首先先寫個c程序中轉調用系統命令,然後用PHP去執行此c程序。
c程序
首先寫個c文件,比如/usr/local/ismole/w.c
復制代碼
代碼如下:
#include<stdio.h>
#include<stdlib.h>
#include<systypes.h>
#include<unistd.h>
int
main()
{
uid_t
uid
,euid;
//note
獲得當前的uid
uid
=
getuid();
//note
獲得當前euid
euid
=
geteuid();
//note
交換這兩個id
if(setreuid(euid,
uid))
perror("setreuid");
//note
執行將要執行linux系統命令
system("/usr/bin/w");
return0;
}
編譯該文件gcc
-o
w
-Wall
w.c,這時會在當前目錄下生成程序w。改變此程序的屬主chmod
u+s
./w。
PHP執行
文件內容如下,放在web目錄下,訪問就會輸出當前的伺服器負載情況。
復制代碼
代碼如下:
<?php
/*
More
&
Original
PHP
Framwork
Copyright
(c)
2007
-
2008
IsMole
Inc.
$Id:
serverMonitor.php
408
2008-12-02
08:07:40Z
kimi
$
*/
//note
key的驗證過程
if($key
!=
$authkey)
{
//
exit('key
error);
}
$last_line
=
exec('/usr/local/ismole/w',
$retval);
$returnArray
=
explode("load
average:
",
$retval[0]);
$returnString
=
$returnArray[1];
echo
$returnString;
按照上面的實例,我們可以用PHP來做任何我們想執行的Linux系統命令,SVN更新,伺服器監控,備份,恢復,日常維護等等。

6. linux下安裝php到/usr/local/ 怎麼跑道/usr/local/include

/usr/local/include
目錄下
只是你所安裝軟體的部分頭文件,
沒必要的.
難不成你是把/usr/local
下的文件全都Cat過去了?
應該不會吧。

7. 請教高手,有關linux環境下,php擴展的問題 - PHP進階討論

先謝謝ytcheng的回答這個問題我查資料解決了phpize./configure 後,生成一個 makefile 文件打開makefile有個 LDFLAGS = 為空填寫為LDFLAGS = -L /usr/local/mysql/lib/mysql/*.a保存makefile然後再make && make install成功!這樣php擴展 用c語言可以操作mysql,參與運算。提高效率。

8. 誰用了linux系統來寫php代碼的說一下實現步驟,我是win7系統,應該怎麼操作

1)你的網站空間是否支持偽靜態?這點很重要,不然一切都是白搭。你可以與空間的IDC商聯系一下,如果是自己的伺服器,那就更好辦了,一般來說,空間都是支持偽靜態的。Apache伺服器偽靜態相對簡單,直接在.htaccess文件中加入相應偽靜態規則即可;而IIS伺服器偽靜態的實現,則需要載入Rewrite組件,然後配置httpd.ini文件。2)開啟DedeCms偽靜態a.後台-系統參數-核心設置-是否使用偽靜態:選擇「是」;b.如果你啟用了問答模塊,則後台-系統參數-模塊設置-是否使用偽靜態:選擇「是」;c.創建欄目或批量增加欄目時,欄目列表選項:選擇「使用動態頁」;添加新文章時,發布選項:選擇「僅動態瀏覽 」。當然,你也可以更改他們的模板,讓他們默認就是這兩個值,一勞永逸。修改方法很簡單,稍懂些HTML基礎就行了,這里就不再累述了。d.如果你的網站已經存在生成的靜態欄目或文章HTML,那麼只需在後台-系統-SQL命令行工具中執行如下語句:update dede_arctype set isdefault=-1;update dede_archives set ismake=-1;其中,dede是你安裝時的數據表前綴,根據實際情況替換。事實上,開啟DedeCms偽靜態支持並不能完全在後台配置,有很多地方還是需要手動修改的,期望官方完善。織夢DedeCms偽靜態方法織夢DedeCms偽靜態,涉及到PHP源碼的修改,你可以藉助Dreamweaver或是EditPlus一類編輯軟體來操作。下面說下織夢DedeCms全站偽靜態的實現方法,適用於V5.3以上版本。小拼的DedeCms偽靜態測試環境是Windows IIS6,舉一反三,Linux或其它伺服器的偽靜態實現原理都是一樣的,只要搞清楚思路就行了。1)DedeCms首頁偽靜態把站點根目錄下index.html刪除,以後不更新主頁HTML即可,當然你也可以選擇不使用動態首頁。2)DedeCms頻道列表頁文章頁偽靜態主要通過修改GetFileName()、GetTypeUrl()這兩個函數實現。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打開/include/channelunit.func.php進行修改。注意:DedeCms V5.7,此文件路徑更改了,你打開/include/helpers/channelunit.helper.php即可。a.將GetFileName()中的如下代碼://動態文章if($cfg_rewrite == 'Y'){return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';}替換為//動態文章if($cfg_rewrite == 'Y'){return "/archives/view-".$aid.'-1.html';}將文章頁默認的/plus/view-1-1.html鏈接格式改為/archives/view-1-1.html,這個隨個人喜歡,不作更改也行。b.將GetTypeUrl()中的如下代碼://動態$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;替換為//動態$reurl = "/category/list-".$typeid.".html";這步必須修改,即讓你的頻道或是列表頁URL變更為/category/list-1.html形式。3)DedeCms列表分頁偽靜態打開/include/arc.listview.class.php,找到獲取動態的分頁列表GetPageListDM()函數末尾處:$plist = str_replace('.php?tid=', '-', $plist);替換為$plist = str_replace('plus', 'category', $plist);//將默認的plus替換成category$plist = str_replace('.php?tid=', '-', $plist);將列表分頁默認鏈接格式/plus/list-1-2-1.html修改為/category/list-1-2-1.html,這步也可以不作更改。4)DedeCms文章分頁偽靜態打開/include/arc.archives.class.php,找到獲取動態的分頁列表GetPagebreakDM()函數末尾片:$PageList = str_replace(".php?aid=","-",$PageList);替換為$plist = str_replace('plus', 'archives', $plist);//將默認的plus替換成archives$PageList = str_replace(".php?aid=","-",$PageList);這步不作修改也可以,只是個人喜好問題。5)DedeCmsTAG標簽偽靜態DedeCms默認的TAG標簽URL,形如/tags.php?/dedecms5.7/,非常之難看。打開/include/taglib/tag.lib.php,找到lib_tag()函數下的:$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";替換為$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";到這里,TAG標簽URL中的「.php?」號就去掉了。6)DedeCms搜索偽靜態DedeCms搜索URL靜態化比較麻煩,附帶參數多不說,參數也可能變化,像搜索結果分頁的URL就特麻煩,偽靜態規則匹配復雜。隨州SEO就偷下懶,將搜索URL中「search.php?…」直接替換為「search.html?…」,至於「?」號之後的參數以任意字元進行匹配。依次打開include文件夾下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找「search.php?」替換為「search.html?」即可。7)DedeCms問答偽靜態問答模塊的偽靜態實現比較簡單,只要後台開啟偽靜態支持即可,至於個別頁面,如ask目錄下的browser.php、question.php以及include目錄下的common.inc.php、functions.inc.php都需要簡單修改才可以匹配偽靜態規則。注意一點,DedeCms V5.7問答模塊整體升級了,之前的規則已經不適用了,小拼以後會專門寫個教程供大家參考的。DedeCms偽靜態規則依照上面的步驟修改完畢,接下來配置好你的偽靜態規則,DedeCms全站偽靜態就完美實現了。1)IIS偽靜態打開httpd.ini文件,加入如下規則:#首頁偽靜態規則,如果不使用動態首頁,請勿必刪除這一行,否則打開首頁會出現死循環RewriteRule ^(.*)/index\.html $1/index\.php [I]#列表頁偽靜態規則RewriteRule ^(.*)/category/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2 [I]RewriteRule ^(.*)/category/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 [I]#文章頁偽靜態規則RewriteRule ^(.*)/archives/view-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3 [I]#搜索偽靜態規則RewriteRule ^(.*)/search\.html(?:(\?.*))* $1/search\.php?$2 [I]#TAG標簽偽靜態規則RewriteRule ^(.*)/tags\.html $1/tags\.php [I]RewriteRule ^(.*)/tags/(.*)(?:(\?.*))* $1/tags\.php\?\/$2 [I]RewriteRule ^(.*)/tags/(.*)\/(?:(\?.*))* $1/tags\.php\?\/$2\/ [I]RewriteRule ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))* $1/tags\.php\?\/$2\/$3 [I]RewriteRule ^(.*)/tags/(.*)\/([0-9])\/(?:(\?.*))* $1/tags\.php\?\/$2\/$3\/ [I]#問答偽靜態規則,適用於DedeCmsV5.3-5.6版本,需要修改幾處程序RewriteRule ^(.*)/post\.html $1/post\.php [I]RewriteRule ^(.*)/type\.html $1/type\.php [I]RewriteRule ^(.*)/question-([0-9]+)\.html $1/question\.php\?id=$2 [I]RewriteRule ^(.*)/browser-1-([0-9]+)\.html $1/browser\.php\?tid=$2 [I]RewriteRule ^(.*)/browser-2-([0-9]+)\.html $1/browser\.php\?tid2=$2 [I]RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)\.html $1/browser\.php\?tid=$2&page=$3 [I]RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)\.html $1/browser\.php\?tid2=$2&page=$3 [I]RewriteRule ^(.*)/browser-([0-9]+)\.html $1/browser\.php\?lm=$2 [I]RewriteRule ^(.*)/browser-1-([0-9]+)-([0-9]+)\.html $1/browser\.php\?tid=$2&lm=$3 [I]RewriteRule ^(.*)/browser-2-([0-9]+)-([0-9]+)\.html $1/browser\.php\?tid2=$2&lm=$3 [I]2)Apache偽靜態打開.htaccess文件,加入如下規則:#提供部分規則作參考RewriteRule ^category/list-([0-9]+)\.html$ /plus/list.php?tid=$1RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3RewriteRule ^archives/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?arcID=$1&pageno=$2

9. linux怎麼快速安裝nginx和php,不用安裝資料庫

Linux下如果要搭建nginx和php環境,需要安裝三個軟體包:

nginx,php,php-fpm

比如說如果是centos的話:

yuminstallnginxphpphp-fpm

可能軟體包名有差別,這個查查就知道了。

然後配置nginx,修改nginx.conf,如果用sock就這樣寫,如果是埠就些埠:

location~.php${
fastcgi_passunix:/var/run/php-fpm/php-fpm.sock;
fastcgi_indexindex.php;
includefastcgi.conf;
}

然後啟動服務,以centos7為例:

systemctlstartnginx
systemctlstartphp-fpm
閱讀全文

與linuxphpinclude相關的資料

熱點內容
java自動格式化 瀏覽:617
ipad怎麼查看文件夾大小 瀏覽:581
手工粘土解壓球 瀏覽:550
在線視頻教育源碼 瀏覽:39
快四十學什麼編程 瀏覽:754
gnumakelinux 瀏覽:537
視易峰雲伺服器怎麼改系統 瀏覽:535
javamap取值 瀏覽:768
mac和win磁碟加密軟體 瀏覽:474
蘋果為什麼會連接不到伺服器 瀏覽:726
pdf格式文件如何保存 瀏覽:303
小霸王伺服器tx什麼意思 瀏覽:75
解釋dns命令 瀏覽:584
dmx512怎麼編程 瀏覽:744
北京雲主機17t雲伺服器 瀏覽:232
php伺服器url地址 瀏覽:440
哪裡看書免費app 瀏覽:437
php刪除數組中重復值 瀏覽:786
經理下命令咱都別說話是什麼意思 瀏覽:625
上海風機可編程式控制制器價格 瀏覽:249