您好,登錄后才能下訂單哦!
下載PHP的源碼,我下的是7.2版本,看了一下安裝的參數太多了,也沒有時間依次了解每個參數的意思,直接從網上復制了一個,先嘗試安裝起來。并記錄一下步驟,基本的步驟就是解壓、配置、編譯、運行。
1.下載PHP源碼,將其放到某個目錄下,比如~/temp
2.接下來準備運行configure,嘗試了無數次,基本快崩潰,因為每次總是提示缺少某個支持庫。總結下來有以下一些,
curl,freetype,glib,libcurl,libjpeg,libmcrypt,libpng,libxml2,libXpm,libxslt,openssl,postgresql,bzip2,先把這些庫安裝完畢,接下來進入正文。
3.在源碼目錄下運行這個很長的配置命令
'./configure' '--prefix=/usr/local/php' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring' '--with-libxml-dir=/usr' '--enable-soap' '--enable-calendar' '--with-curl' '--with-mcrypt' '--with-gd' '--with-pgsql' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-zlib' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-pcntl' '--enable-mbregex' '--enable-exif' '--enable-bcmath' '--with-mhash' '--enable-zip' '--with-pcre-regex' '--with-pdo-mysql' '--with-mysqli' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-openssl' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--with-libdir=/lib/x86_64-linux-gnu/' '--enable-ftp' '--with-gettext' '--with-xmlrpc' '--with-xsl' '--enable-opcache' '--enable-fpm' '--with-iconv' '--with-xpm-dir=/usr'
崩潰不,都不知道這么多參數干嘛用的,但無論如何,運行成功了,沒有提示錯誤。
4.在PHP解壓目錄下運行make && make install, 又提示libtool: link: `ext/opcache/ZendAccelerator.lo' is not a valid libtool object錯誤,Ok, 查找網上資料,運行make distclean。然后重新make,提示找不到make file。查不到資料了,幸好咱有虛擬機快照,恢復快照,重新安裝所需的庫文件,重新configure,總算成功。
5.make成功后,到安裝路徑下運行php -version,正常顯示版本號。將此路徑加入到系統路徑變量中,
vi /etc/profile
在最后加入PHP路徑,
PATH=$PATH:/usr/local/php/bin
export PATH
保存后,在任意地方嘗試運行php -version成功。
6.接下來,將PHP加入到apache中,
vim /etc/httpd/conf/httpd.conf
//在LoadModule后面添加:LoadModule php7_module modules/libphp7.so //不添加則訪問.php文件將會變成下載,正常這個應該是自動添加才對
//在DirectoryIndex后面添加:index.php
//在AddType application/x-gzip .gz .tgz后面添加:AddType application/x-httpd-php .php //.php前面有一個空格
重啟Apache服務,提示失敗,找不到libphp7.so,再查資料吧,先刪除LoadModule行。看看應該是在編譯php時要加入apxs路徑參數,才能促成生成libphp7.so,而apxs需要安裝依賴包httpd-devel。安裝httpd-devel,需要httpd和httpd-tools,全部下載安裝完畢。
重新編譯php,./configure --with-apxs2=/usr/bin/apxs,成功后,再次make && make install
好事,沒發現任何錯誤,到httpd.conf中查看,發現LoadModule 這句話已經自動加上了。停止并重啟apache服務,測試PHP網頁,一切正常。
7.復制php.ini-development或者php.ini-production到php的安裝目錄下的lib文件夾中 /usr/local/php/lib 并重命名為php.ini
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。