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

phplibzip

發布時間:2022-12-10 23:11:19

⑴ 安裝wordpress使用tengine怎麼樣

後台之前使用的Tengine+HHVM環境, 前段時間更新了 HHVM 之後,感覺訪問 Blog 的速度慢了很多,不知道是不是與使用的某些插件不兼容的原因,正好 Aliyun 添加了 Ubuntu14.04鏡像,趁這次更新系統的機會,重新採用Tengine+php-FPM的架構來運行 Wordpress.下面記錄一下安裝的過程.

備份好數據之後,在 Aliyun 後台更新系統盤,選擇 Ubuntu 14.04這個鏡像.
完成之後,登錄到伺服器.
先進行一些系統參數的優化設置.
#Synchronization timerm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeapt-get install -y ntpdatentpdate -u pool.ntp.orgdate#Disable Selinuxif [ -s /etc/selinux/config ]; thensed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configfiif [ -s /etc/ld.so.conf.d/libc6-xen.conf ]; thensed -i 's/hwcap 1 nosegneg/hwcap 0 nosegneg/g' /etc/ld.so.conf.d/libc6-xen.conffi#set sysctl\cp /etc/sysctl.conf /etc/sysctl.conf.baksed -i 's/net\.ipv4\.tcp_syncookies.*/net\.ipv4\.tcp_syncookies = 1/' /etc/sysctl.confif cat /etc/sysctl.conf | grep "aliyun web add" > /dev/null ;thenecho ""elsecat >> /etc/sysctl.conf < /dev/null;then echo ""else echo "* soft nofile 65535" >> /etc/security/limits.conffiif cat /etc/security/limits.conf | grep "* hard nofile 65535" > /dev/null ;then echo ""else echo "* hard nofile 65535" >> /etc/security/limits.conffi

然後更新系統,安裝必要的系統組件.
apt-get updateapt-get autoremove -yapt-get -fy installapt-get install -y build-essential gcc g++ makefor packages in build-essential gcc g++ make cmake automake autoconf re2c wget cron bzip2 libzip-dev libperl-dev libc6-dev iptables file lio* rcconf flex vim nano bison m4 gawk less make cpp binutils diffutils unzip tar bzip2 unrar p7zip libncurses5-dev libncurses5 libncurses5-dev libncurses5-dev libtool libevent-dev libpcre3 libpcre3-dev libpcrecpp0 zlibc openssl libsasl2-dev libltdl3-dev libltdl-dev libmcrypt-dev zlib1g zlib1g-dev libbz2-1.0 libbz2-dev libglib2.0-0 libglib2.0-dev libpng3 libjpeg62 libjpeg62-dev libpng-dev libpng12-0 libpng12-dev curl libcurl3 libmhash2 libmhash-dev libpq-dev libpq5 gettext libncurses5-dev libjpeg-dev libxml2-dev libfreetype6 libfreetype6-dev libssl-dev libcurl3 libcurl4-openssl-dev libcurl4-gnutls-dev mcrypt libcap-dev diffutils ca-certificates debian-keyring debian-archive-keyring;do apt-get install -y $packages --force-yes;apt-get -fy install;apt-get -y autoremove; done

接著下載Tengine並編譯安裝,我使用的是截至到當前的最新版本2.0.3.
wget -c http://tengine.taobao.org/download/tengine-2.0.3.tar.gztar zxf tengine-2.0.3.tar.gzcd tengine-2.0.3./configure --prefix=/usr/local/nginx \--user=www-data \--group=www-data \--with-http_stub_status_mole \--without-http-cache \--with-http_ssl_mole \--with-http_gzip_static_mole \--with-http_concat_mole CPU_NUM=$(cat /proc/cpuinfo | grep processor | wc -l)if [ $CPU_NUM -gt 1 ];then make -j$CPU_NUMelse makefimake install

Tengine安裝過程還是很快的,用不了幾分鍾,就安裝完成.接著下載一個 Tengine 的控制腳本,用於使用 service nginx start/stop/reload 等操作,並添加nginx 開機啟動.
wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginxchmod +x /etc/init.d/nginxservice nginx status # to poll for current statussudo update-rc.d -f nginx defaults

至此,Tengine已經安裝結束,使用 service nginx start啟動Tengine之後,使用瀏覽器訪問網站就可以看到相關的 Welcome 界面了.接下來我們開始安裝 PHP.同樣,我使用的也是當前的最新版本,PHP 5.5.17.
wget -c http://cn2.php.net/distributions/php-5.5.17.tar.gztar zxf php-5.5.17.tar.gzcd php-5.5.17./configure --prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--enable-fpm \--with-fpm-user=www-data \--with-fpm-group=www-data \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--enable-opcache \--enable-static \--enable-inline-optimization \--enable-sockets \--enable-wddx \--enable-zip \--enable-calendar \--enable-bcmath \--enable-soap \--with-zlib \--with-iconv \--with-gd \--with-xmlrpc \--enable-mbstring \--with-curl \--enable-ftp \--with-mcrypt \--disable-ipv6 \--disable-debug \--with-openssl \--disable-maintainer-zts \--disable-fileinfoCPU_NUM=$(cat /proc/cpuinfo | grep processor | wc -l)echo "make php"if [ $CPU_NUM -gt 1 ];then make ZEND_EXTRA_LIBS='-liconv' -j$CPU_NUMelse make ZEND_EXTRA_LIBS='-liconv'fimake install

PHP的編譯時間比Tengine要長一些,耐心等待 PHP 編譯安裝完全之後,需要進入一些軟鏈接操作.同時對 php.ini 和 php-fpm.conf 進行一些優化設置.
ln -s /usr/local/php/bin/php /usr/bin/phpln -s /usr/local/php/bin/phpize /usr/bin/phpizeln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpmmkdir -p /usr/local/php/etccp php.ini-proction /usr/local/php/etc/php.inised -i 's@expose_php = On@expose_php = Off@g' /usr/local/php/etc/php.inised -i 's/post_max_size = 8M/post_max_size = 50M/g' /usr/local/php/etc/php.inised -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.inised -i 's/;date.timezone =/date.timezone = PRC/g' /usr/local/php/etc/php.inised -i 's/short_open_tag = Off/short_open_tag = On/g' /usr/local/php/etc/php.inised -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.inised -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.inised -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.inised -i 's/max_execution_time = 30/max_execution_time = 300/g' /usr/local/php/etc/php.inised -i 's/register_long_arrays = On/;register_long_arrays = On/g' /usr/local/php/etc/php.inised -i 's/magic_quotes_gpc = On/;magic_quotes_gpc = On/g' /usr/local/php/etc/php.inised -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsockopen/g' /usr/local/php/etc/php.ini#enable opcachesed -i '/;opcache.enable=0/i\zend_extension=opcache.so' /usr/local/php/etc/php.inised -i 's/;opcache.enable=0/opcache.enable=1/g' /usr/local/php/etc/php.inised -i 's/;opcache.enable_cli=0/opcache.enable_cli=1/g' /usr/local/php/etc/php.inised -i 's/;opcache.memory_consumption=64/opcache.memory_consumption=128/g' /usr/local/php/etc/php.inised -i 's/;opcache.interned_strings_buffer=4/opcache.interned_strings_buffer=8/g' /usr/local/php/etc/php.inised -i 's/;pcache.max_accelerated_files=2000/pcache.max_accelerated_files=4000/g' /usr/local/php/etc/php.inised -i 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=60/g' /usr/local/php/etc/php.inised -i 's/;opcache.fast_shutdown=0/opcache.fast_shutdown=1/g' /usr/local/php/etc/php.inicat >/usr/local/php/etc/php-fpm.conf<<EOF[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.loglog_level = notice[www]listen = /var/run/php5-fpm.socklisten.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = www-datalisten.group = www-datalisten.mode = 0666user = www-datagroup = www-datapm = dynamicpm.max_children = 10pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 6request_terminate_timeout = 100request_slowlog_timeout = 0slowlog = var/log/slow.logEOFcp ./php-5.5.17/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpm

最後,掛載備份的數據盤.從備份盤恢復網站數據,並修改 Nginx 的配置,恢復網站的正常訪問.
mkdir -p /backupecho '/dev/xvdb1 /backup ext4 barrier=0 0 0' >> /etc/fstab mount -a

我已經將上面的過程編寫成了一個腳本,可下載後查看(install.zip),也可以直接下載到伺服器運行.完成之後,只需要添加 vhost的配置reload 一下 nginx 就可以正常訪問了.
需要說明的是由於我使用了阿里雲的 RDS,所以沒有在伺服器上安裝 MySql.

⑵ centos7系統源碼編譯安裝PHP7.3.5版本

新增系統用戶組和用戶:

下載 PHP7.3.5

[root@localhost ~]# mkdir devdir

[root@localhost ~]# cd devdir/

[root@localhost devdir]# wget https://www.php.net/distributions/php-7.3.5.tar.gz

-bash: wget: 未找到命令

[root@localhost devdir]# rpm -qa|grep wget

[root@localhost devdir]# yum -y install wget

[root@localhost devdir]# rpm -qa|grep wget

wget-1.14-18.el7.x86_64

下載PHP7 解壓 編譯

wget -c https://downloads.php.net/~cmb/php-7.3.4.tar.gz

編譯參數解釋

--with-fpm-user=webu --with-fpm-group=webg 添加PHP運行用戶和用戶組

配置信息出錯:

下載gcc軟體編譯器 yum install -y gcc

configure: error: libxml2 not found. Please check your libxml2 installation.

下載libzip-1.5.2.tar.gz

https://libzip.org/download/libzip-1.5.2.tar.gz

解決libzip 和cmake版本問題

重新配置PHP7編譯環境參數

libzip-1.5.2 無法安裝,已經取消了。

提示off_t類型沒有定義 undefind,解決方法:

編譯安裝

測試PHP是否安裝成功

轉載自:https://my.oschina.net/u/4127346/blog/3047778

⑶ zip密碼 php

用PHP的zip模塊進行壓縮加密.

開始

$zipArc=newipArchive();if($zipArc->open('/home/test.zip',ZipArchive::CREATE|ZipArchive::OVERWRITE)===true){//設置密碼注意此處不是加密,僅僅是設置密碼
if(!$zipArc->setPassword('password')){thrownewRuntimeException('Setpasswordfailed');
}//往壓縮包內添加文件
$zipArc->addFile('/home/test.png','1/test.png');//加密文件此處文件名及路徑是壓縮包內的
if(!$zipArc->setEncryptionName('1/test.png',ZipArchive::EM_AES_256)){thrownewRuntimeException('Setencryptionfailed');
}

}

$zipArc->close();

注意事項

1 PHP7.2以下不支持加密

php7.2 以下是不支持加密的,我們看一下php官方文檔中的解釋

從PHP 7.2.0和libzip 1.2.0開始,密碼用於解壓縮歸檔,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默認密碼。

以前,此功能僅設置用於解壓縮存檔的密碼; 它沒有將非密碼保護的ZipArchive 變成受密碼保護的ZipArchive。

也就是說php7.2之前,setPassword('password')這個方法僅僅是設置setEncryptionName()和setEncryptionIndex()的默認密碼,卻沒有進行加密操作!!!,就問你坑不坑!!

2 方法找不到

提示沒有setEncryptionName和setEncryptionIndex方法時,請編譯時zip模塊時用以下參數

--with-libzip
--enable-zip

3 目錄結構問題

待壓縮的文件目錄,比說說是/home/test/a.png
壓縮後,你發現壓縮包內的目錄結構是/home/test/a.png,
也就是說壓縮包原封不動的保持了原來文件的目錄.可是我們想自定義壓縮包目錄怎麼辦呢?

$a = '/home/test.png';
$b = '1/test.png';//$a是待添加的文件路徑 $b是壓縮包內的路徑$zipArc->addFile($a, $b);

⑷ 在linux 虛擬主機php環境中,php.ini 中 extension=zip.so 主要起什麼作用

在php.ini 中增加extension=zip.so其作用是為php載入 zip 模塊.

可參考以下資料:

Linux平台下PHP zip模塊

1、依次運行以下命令:
wget http://pecl.php.net/get/zip-1.8.3.tgz //貌似已經出新版本了zip1.10.2.tgz
tar zxvf zip-1.8.3.tgz
cd zip-1.8.3
/usr/local/php/bin/phpize (對應的phpize路徑)(安裝好的php位置)
configure --with-php-config=/usr/local/php/bin/php-config (對應的php-config路徑)(php-config文件名不能更改)
make
make install
//此時會在zip/moles/下生成一個zip.so文件,將它拷貝到make之後給的一個路徑下,如有同名的,覆蓋之。
2、生成的模塊路徑:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/zip.so (對應的extensions路徑)
3、修改php.ini
extension_dir = "./"修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"
增加extension=zip.so
4、重啟apache
apache2/bin/apachectl restart

⑸ Linux 腳本編寫 如何編寫一個腳本,修改已有文件中的內容

實現的方法如下:

1、第一步,打開命令控制台以找到要編輯的文件,執行命令ls來查看下面的一些文件,在下面有一個index.php文件,如下圖所示。

⑹ idevicerestore 一直提示未找到命令,該怎麼破

本人同大多封釉一樣,用ubuntu降級過程中第三步出現idevicerestore未知命令的錯誤。
發現是由於依賴庫缺少或者依賴庫版本過低問題導致。故只要安裝正確的依賴庫就行。。
下面教程開始:
打開終端,輸入 su,接著輸入密碼。

1.輸入apt-get update
2.輸入apt-get upgrade

3.輸入./buildpre
3.輸入
sudo apt-get install build-essential automake cmake \libreadline6 autotools-dev libcurl4-openssl-dev autoconf \libplist1 libplist-utils libplist-dev libplist++-dev \libzip-dev git curl libgnutls-dev libreadline-dev l**b-dev \libtool l**b-1.0-0-dev l**bmuxd-dev libglib2.0-dev libimobiledevice-dev (全部復制,,紅色部分是l和諧ibu和諧s和諧b)
4.輸入
mkdir ~/idevicerestorecd ~/idevicerestoregit clone http://git.sukimashita.com/libirecovery.gitcd libirecovery./autogen.shmake && sudo make install
5.輸入
cd ~/idevicerestoregit clone git://github.com/tcf38012/idevicerestore.gitcd idevicerestore./autogen.shmake && sudo make installsudo ldconfig
6.輸入
cd ~/idevicerestoregit clone http://github.com/posixninja/ideviceactivate.gitcd ideviceactivatemake
7.輸入apt-get install libreadline-dev
8.輸入apt-get install python-dev
9.下載附件libplist-1.11,解壓,然後在解壓出來的文件夾裡面新開一個終端,su,密碼,
接著輸入
9.1 輸入 ./autogen.sh
9.2 輸入make
9.3 輸入make install
10.輸入sh +x build.sh
至此,教程結束。能解決大多數依賴問題。後續降級步驟參考其他封釉帖子 。
11.輸入 idevicerestore測試
libplist-1.11.tar.gz (2.04 MB, 下載次數: 79)

http://bbs.feng.com/forum.php?mod=attachment&aid=%3D%3D&request=yes&_f=.gz

⑺ 寶塔面板php7.3&7.4版本不支持ZipArchive手工安裝擴展方法

寶塔面板安裝的PHP7.3和7.4默認已經不帶zip擴展,要手工安裝zip擴展首先需要安裝libzip,方法如下:

安裝完成後,查看是否存在/usr/local/lib/pkgconfig目錄,如果存在,執行如下命令來設置PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

在SSH命令行界面執行以下語句:

最後在重啟一下 PHP 服務即可。

寶塔面板php7.4版本不支持ZipArchive導致程序無法後台直接更新的解決方法
在SSH命令行界面執行以下語句:

最後在重啟一下 PHP 服務即可。

⑻ CentOS 7編譯安裝PHP 7.4提示No package 'libzip' found或者(libzip >= 0.11)

編譯安裝PHP 7.4提示No package 'libzip' found或者(libzip >= 0.11),原因是libzip沒有安裝或者版本太低,解決方法如下:

安裝完成後,查看是否存在/usr/local/lib/pkgconfig目錄,如果存在,執行如下命令來設置PKG_CONFIG_PATH:

⑼ PHP8、FPM及部分擴展編譯安裝

本著能懶則懶的原則,之前我都是寶塔、lnmp腳本等「一鍵」
再不濟也得來個 apt/yum install php
什麼?源碼 make install ? 編譯參數一言難盡,勸退勸退...我只是想要個開發環境而已

沒關系!我來整理一下常用模塊以及參數!環境為 ubuntu/debian

檢查壓縮包的完整性,與官網 sha256比較

安裝以下包

官方的拓展分類
根據需要的模塊添加其後對應的參數

包含常用模塊,可以直接使用

編譯並安裝後
復制 php.ini 到默認目錄 /usr/local/lib/

檢查 php安裝是否正確

復制 fpm 配置文件、運行服務文件
www.conf php-fpm.conf php-fpm.service

修改 fpm 用戶和組,默認為nobody

修改服務文件,取消只讀 不然日誌不能讀寫無法啟動

設置自啟動並運行

本地起服務測試

No package 'libxml-2.0' found

No package 『sqlite3『 found

configure: WARNING: unrecognized options: –with-gd

No package 'zlib' found

No package 'libpng' found

No package 'oniguruma' found

No package 'libcurl' found

No package 'libsystemd' found

No package 'openssl' found

No package 'libzip' found

閱讀全文

與phplibzip相關的資料

熱點內容
我的世界伺服器如何注冊賬號 瀏覽:932
統計英文字元python 瀏覽:423
linux信息安全 瀏覽:908
壓縮機接線柱爆 瀏覽:999
程序員自主創業 瀏覽:584
匯編程序員待遇 瀏覽:359
怎麼批量有順序的命名文件夾 瀏覽:211
杭州程序員健身 瀏覽:19
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383