本文目錄一覽:
- 1、如何在linux下安裝多個不同版本的PHP
- 2、喬大姐,知道如何用PHP生成結構體嗎
- 3、護衛神php環境安裝完成後網站程序放哪裡
- 4、php 如何定義一個數組
- 5、php站內搜索怎麼做
- 6、PHP有沒有類似JS setTimeout的函數
如何在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-production /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
喬大姐,知道如何用PHP生成結構體嗎
執行phpize生成編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
運行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安裝autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
執行這個命令時,php會去檢查配置文件是否正確,如果有配置錯誤,這裡會報錯,可以根據錯誤信息去排查!
護衛神php環境安裝完成後網站程序放哪裡
護衛神PHP套件,只是搭建了PHP+MySQL的運行環境,並且默認只開設了一個phpmyadmin網站。
如果用戶要新建網站,可以參考V課堂視頻教程,這個講得最詳細,在官網首頁有一個V課堂,點進去看護衛神專題,找到[安裝PHP+MySQL方法]即可,2003/2008/2012系統都講得比較清楚。(貌似不能發URL)。
·IIS默認不支持PHP功能,需要單獨安裝應用才可以使用。
·為了簡化用戶安裝PHP,本節將使用由護衛神開發的PHP套件,該套件自動配置php和mysql,以及做好安全設置。
1、準備工作
·檢查是否安裝IIS,如果沒有安裝請參考我站「IIS安裝方法」的視頻。
·到下載PHP套件安裝包。
PHP有多個版本可選,安裝方法都一樣;本節選擇php5.6版本,專為 Windows 2008 和 Windows 2012 開發的64位版本。
2、安裝PHP套件
·建議安裝到非系統盤,主要是MySQL資料庫存放在該目錄。
·套件做好了默認配置,適合大多數PHP程序;如果您的程序比較特別,可以自己更改php.ini。
這樣PHP+MYSQL就安裝好了。
3、創建一個PHP站點
·注意:為了讓您看得更簡單,我們暫不涉及安全因素。
·如果需要了解如何創建一個安全的站點,請觀看我站「安全站點創建方法」視頻。
網站存放到d:\wwwroot\discuz\,添加Users的訪問許可權;同時創建web子目錄,用於存放PHP程序。
綁定域名:test.huweishen.com
4、安裝一套PHP程序
·我們以discuz為例,安裝程序我已經下載到了桌面。
·創建資料庫;從安全形度考慮,不建議使用root帳戶連接資料庫;因此我們手工創建安全的帳戶。
·discuz已經可以訪問了。
如果您需要創建更多的PHP站點,重複執行3、4步操作即可。
php 如何定義一個數組
php中定義數組的方法:
1、PHP定義數組的格式:
數組名=array();
如:$aa=array();//這樣就定義了一個數組,
之後給元素賦值:
$aa[0]=”9016″;
$aa[1]=”9017″;
$aa[2]=”9018″;
2、PHP輸出數組的方法:
foreach($aa as $val)
{
echo$val;
}
也可以在定義數組時直接賦值
$aa=array(0=”9016″,1=”9017″;2=”9018″);
3、PHP的數組還可以用字元做下標,不一定要數字:
$aa[“name”]=”Joan”;
$aa[“num”]=”9018″;
$aa[“email”]=”abc@abc.com”;
也可以這樣
$aa=array(“name”=”joan”,”num”=”9018″,”email”=”abc@abc.com”);
將一個一維數組的元素也定義為數組,就是一個二維數組,
$aa=array(0=”a1″,1=”a2″);
$bb=array(0=”b1″,1=”b2″);
$cc=array(0=$aa;1=$bb);此時,$cc[0]也是一個數組,$cc[1]也是一個數組,$cc就是一個二維數組。
同理,三維,四維數組也可以繼續定義下去。
4、數組的元素不僅於數字和字元串,可以是類的對象。
php站內搜索怎麼做
站內搜索是一種使用關鍵字來搜索文章標題的功能。
PHP的站內搜索可以使用SELECT和LIKE語句來對文章的標題進行過濾選擇,將需要的數據篩選出來。 如果有多個篩選可以使用AND語句連接起來進行多條語句篩選。 如果希望是能搜索到全站所有的數據,一般在資料庫設計之初最好就是把所有數據放一個表,然後通過擴展表的方式進行數據擴展!具體方法可以參考ONETHINK的設計模式。
具體搜索方法: SELECT * FROM 表名 WHERE 欄位 LIKE ‘%關鍵字%’
PHP有沒有類似JS setTimeout的函數
沒有,不過可以通過sleep函數來實現。
代碼:
function setTimeout($func, $sec = 0, $timeout = 0, $args = array()) {
if (!function_exists($func) || $timeout == 0) {
return false;
}
while ($timeout 0) {
if (!empty($args) is_array($args)) {
call_user_func_array($func, $args);
} else {
call_user_func($func, $args);
}
flush();
ob_flush();
sleep($sec);
$timeout–;
}
return false;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279427.html