本文目錄一覽:
- 1、centos7 php7 安裝擴展phalcon 報錯
- 2、如何編譯搭建php7+nginx+mysql
- 3、如何在openSUSE42.1下編譯安裝PHP7
- 4、如何編譯安裝PHP擴展
- 5、如何在編譯好的PHP環境中安裝PHP擴展模塊
centos7 php7 安裝擴展phalcon 報錯
第一步:在百度中搜索Phalcon,一般第一個網站,進入網站,我們點擊網站首頁的download,目前該框架的最近版本是2.0
接著 我們找到我們的系統 這裡我建議選用二進位的源碼編譯安裝!
然後 我們根據網站上的提示 下載該框架託管在github上面的二進位源碼,如圖所示,(使用git命令時需要安裝yum install git)
使用putty連接我們的linux系統 在linux系統/usr/local/src/下面輸入步驟三圖片上的命令 稍等片刻源碼就會下載下來
源碼下載完畢後會有一個cphalcon目錄 我們用命令行切換到/usr/local/src/cphalcon/build
用vi編輯器打開install文件 按照下圖配置 選擇php-config(php安裝位置各有不同)默認install 沒有選擇php-config的位置所有我們要自己動手
編輯完成 直接執行./install 動態編譯載入php擴展
編譯完成後打開php.ini文件添加phalcon的擴展 在php.ini中添加下圖的擴展即可
最後一步php探針驗證 !大工告成!
如何編譯搭建php7+nginx+mysql
在Windows下配置搭建PHP環境的步驟:
一、準備工作-下載所需軟體
Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
PHP php-5.3.10-Win32-VC9-x86.zip
MySQL mysql-5.5.20-win32.msi
二、安裝軟體
1、安裝Apache: 雙擊安裝,與安裝其他Windows軟體沒有什麼區別,在填Server Infomation時,並沒有特殊規定,只要輸入的信息符合格式即可。
安裝完成之後,在瀏覽器輸入,如果顯示It Works!,表示Apache安裝成功。
2、安裝PHP:將php-5.3.10-Win32-VC9-x86.zip解壓到一個目錄即可。
3、安裝MySQL:雙擊安裝,如果需要更改安裝目錄,則在Choose Setup Type選擇Custom
安裝完成後開始配置MySQL,全部保持默認選項即可,但最好把MySQL默認編碼改為utf8,在Modify Security Settings選項中設置密碼,輸入兩次密碼即可完成,最後點Execute完成配置。
三、整合Apache+PHP+MySQL
Apache : 首先修改Apache的配置文件,讓Apache支持解析PHP文件。Apache配置文件在Apache安裝目錄的conf目錄下的httpd.conf。
1. 讓Apache可以解析php文件,在配置文件中找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下一行添加 (綠色的位置是根據PHP的所在目錄而定的)
LoadModule php5_module “D:/Develop/PHP/php5apache2_2.dll”PHPIniDir “D:/Develop/PHP”AddType application/x-httpd-php .php .html .htm
2. 在配置文件中找到
DirectoryIndex index.html
改為
DirectoryIndex index.php index.html
3. 修改Apache站點目錄,在配置文件中找到(Apache安裝的目錄不同,顯示的值不一樣)
DocumentRoot “D:/Develop/Apache2.2/htdocs”
改為
DocumentRoot “D:/Workspace/PHP”
再找到
Directory “D:/Develop/Apache2.2/htdocs”
改為
Directory “D:/Workspace/PHP”
PHP : 把php.ini-development改名為php.ini,作為PHP的配置文件。修改php.ini
1. 設置PHP擴展包的具體目錄,找到
; On windows:; extension_dir = “ext”
改為 (值是ext文件夾的目錄)
; On windows: extension_dir = “D:/Develop/PHP/ext”
2. 開啟相應的庫功能,找到需要開啟的庫的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_xmlrpc.dll
去掉前面的分號(注釋),即改為
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3. 設置時區,找到
;date.timezone =
改為
date.timezone = Asia/Shanghai
配置完成,檢測一下配置是否成功。重啟Apache,在站點目錄下新建文件index.php,輸入內容。
如何在openSUSE42.1下編譯安裝PHP7
首先推薦一篇文章
PHP
7
Release
Date
Arrived:
Will
Developers
Adopt
PHP
7?
–
PHP
Classes
blog
。
裡面說到是否會去使用PHP7,就個人而言,我是毫不猶豫地使用的,但是生產環境就不是我說了算,所以只能自己在自己的開發環境里更新PHP的版本。那麼,你呢?
筆者使用的是Linux的openSUSE42.1發行版,Yast裡面還沒有PHP7的安裝包,於是乎只能自己手動編譯安裝了。作為一個PHP開發者,我是非常希望能夠學會編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網找各種資料,於是乎,這次安裝成功後就想把自己的安裝過程以及遇到的問題記錄下來,方便以後查閱和分享給需要的人。
下載源碼並解壓
進入正題,要編譯安裝PHP7,首先當然要下載PHP7的源碼。你可以到
github
上clone,也可以到
PHP官網
下載。下載後解壓到
/usr/local/src
目錄,並將目錄重命名為php7。進入目錄。
配置編譯參數
生成配置文件
./buildconf
配置
./configure
\
–prefix=/usr/local/php7
\
–exec-prefix=/usr/local/php7
\
–bindir=/usr/local/php7/bin
\
–sbindir=/usr/local/php7/sbin
\
–includedir=/usr/local/php7/include
\
–libdir=/usr/local/php7/lib/php
\
–mandir=/usr/local/php7/php/man
\
–with-config-file-path=/usr/local/php7/etc
\
–with-mysql-sock=/var/run/mysql/mysql.sock
\
–with-mcrypt=/usr/include
\
–with-mhash
\
–with-openssl
\
–with-mysqli=shared,mysqlnd
\
–with-pdo-mysql=shared,mysqlnd
\
–with-gd
\
–with-iconv
\
–with-zlib
\
–enable-zip
\
–enable-inline-optimization
\
–disable-debug
\
–disable-rpath
\
–enable-shared
\
–enable-xml
\
–enable-bcmath
\
–enable-shmop
\
–enable-sysvsem
\
–enable-mbregex
\
–enable-mbstring
\
–enable-ftp
\
–enable-gd-native-ttf
\
–enable-pcntl
\
–enable-sockets
\
–with-xmlrpc
\
–enable-soap
\
–without-pear
\
–with-gettext
\
–enable-session
\
–with-curl
\
–with-jpeg-dir
\
–with-freetype-dir
\
–enable-opcache
\
–enable-fpm
\
–disable-cgi
\
–with-fpm-user=nginx
\
–with-fpm-group=nginx
\
–without-gdbm
\
–disable-fileinfo
參數說明
prefix
PHP7安裝的根目錄
with-config-file-path
PHP7的配置文件目錄
執行完上面的配置命令後的結果如下圖所示:
執行上面命令的過程中會遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:
錯誤:
configure:
error:
xml2-config
not
found.
Please
check
your
libxml2
installation.
解決:
zypper
install
libxml2-devel
錯誤:
configure:
WARNING:
unrecognized
options:
–with-mysql
解決:
取消這個選項,這個選項是不存在的
錯誤:
configure:
error:
jpeglib.h
not
found.
解決:
zypper
install
libjpeg-devel
錯誤:
configure:
error:
mcrypt.h
not
found.
Please
reinstall
libmcrypt.
解決:
zypper
install
libmcrypt-devel
錯誤:
checking
for
recode
support…
yes
configure:
error:
Can
not
find
recode.h
anywhere
under
/usr
/usr/local
/usr
/opt.
解決:
zypper
install
librecode-devel
總的來說,在配置的時候遇到沒有的就打開Yast搜一下,如果有的話就安裝,然後重新編譯看還需要那些,如果在Yast找不到,那就上網找一下Google。
編譯和安裝PHP7
make
make
install
其中,make之後可以選擇make
test。只是一個可選步驟,不執行不知道有什麼問題,不過筆者暫時還沒遇到。
查看安裝成功後的PHP7目錄
編譯安裝成功後,查看PHP7的安裝目錄`ls
/usr/local/php7`:
設置PHP7的配置文件
cp
/usr/local/src/php7/php.ini-production
/usr/local/php7/etc/php.ini
cp
/usr/local/src/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
cp
/usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp
/usr/local/php7/etc/php-fpm.d/
/usr/local/php7/etc/php-fpm.d/
設置環境變數
在/etc/profile
文件的最後一行加上
export
PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然後執行
source
/etc/profile
設置PHP日誌目錄和php-fpm進程文件(php-fpm.sock)目錄
mkdir
-p
/var/log/php-fpm/
mkdir
-p
/var/run/php-fpm
cd
/var/run/
chown
-R
nginx:nginx
php-fpm
將PHP設置為開機啟動
chmod
+x
/etc/init.d/php-fpm
chkconfig
php-fpm
on
可以用chkconfig命令查看開機啟動服務列表。
啟動PHP服務
service
php-fpm
start
通過ps
aux
|
grep
‘php’查看PHP是否啟動成功
至此,PHP7就安裝成功了,你也開始使用PHP7吧!
如何編譯安裝PHP擴展
一開始安裝PHP的時候,我們並不知道需要哪些擴展,所以只有等到我們真正用到的時候才想辦法去安裝。
安裝PHP擴展最簡單的辦法就是
sudo apt-get install php5-xxx
但有的時候並非我們所願,源裡面並沒有我們需要的擴展,這時候就需要我們下載源碼自己編譯安裝了。
這篇文章中我將介紹在本地Linux平台下編譯安裝PHP擴展的方法。
現在網站根目錄下創建 index.php 列印基本的配置信息,以驗證我們是否安裝成功。
配置編譯環境
我們需要安裝一些編譯必須的庫,還有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安裝擴展
PHP有兩種可供安裝的擴展:一種是PHP原生的但是默認沒有安裝的,另一種的第三方開發的擴展。
下面依次介紹兩種擴展的安裝方法:
安裝之前我們需要一份和當前機器上相同版本的PHP源碼
cd code
wget
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此處 下載相應的源碼包。
在 /ext 目錄下面可以看到所有PHP原生的擴展。
安裝原生擴展
以 PHP-intl 為例,這是PHP國際化的擴展。
為了安裝這個擴展我們需要先安裝ICU 庫
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安裝成功之後進入/ext/intl 目錄:
cd intl
phpize
./configure –enable-intl
make
sudo make install
下面解釋一下上面的每個命令:
phpize : 是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊
./configure –enable-intl: 配置編譯環境,相當於告訴編譯器編譯PHP源碼的時候加上intl這個擴展。
make: 將會把源碼編譯成 intl.so
make install : 將會把 intl.so 移動到當前安裝的 PHP 的擴展目錄。
接下來我們要做的就是在php.ini中啟用這個擴展,這一步將會在最後給出示例。
安裝第三方擴展
將以這個 擴展為例,這個擴展主要實現了PHP識別條形碼的功能。
先安裝必要的依賴
sudo apt-get install pkg-config
git clone
cd mongo-php-driver
phpize
./configure
make
sudo make install
將會生成一個文件,將其拷貝到PHP的擴展目錄下面。
啟用擴展
在php.ini中啟用擴展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,這是最簡單直接的方法。
也可以單獨建一個ini文件,然後在php.ini中包含這些文件就可以了。
下面介紹一下第二種方法:
cd `/etc/php5/mods-available`
這個目錄里可以放新建的ini文件,然後執行
sudo touch mongo.ini
echo “extension=mongo.so” | sudo tee -a mongo.ini
sudo touch intl.ini
echo “extension=intl.so” | sudo tee -a intl.ini
上面的命令將會創建ini文件,並且寫如相應的配置信息。
然後執行下面的命令啟用擴展即可(需要安裝 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安裝 php5enmod 工具,則需要手動配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最後在執行一下重啟操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
如何在編譯好的PHP環境中安裝PHP擴展模塊
1、先進入php解壓縮後的源碼包中,找到要安裝的擴展模塊的目錄。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目錄下面以絕對路徑運行phpize程序,這時會自動生成sockets的configure程序,在sockets目錄下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、進行編譯安裝
[root@redhat5 sockets]# ./configure –with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
執行完make install屏幕上會提示sockets.so存放的路徑,然後把它複製到php的extensions目錄中,例如我的路徑為 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = “./” 這行,修改為:
extension_dir = “/home/webserver/php5.2.12/lib/php/extensions/”
然後再新增加一行:
extension=sockets.so
4、重啟apache即可生效。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200266.html