編譯php5
不需要編譯的,把PHP文件拷貝到你的網頁目錄裡面,在地址欄輸入:http://127.0.0.1/*.php就可以了
補充:
大家說得非常明白了,你自己寫的PHP程序,滑鼠雙擊就可以運行,不需要編譯。如果雙擊的時候問你用什麼打開,你就選擇你自己安裝的PHP.EXE文件。
多數情況PHP寫的程序是在網頁上用的,如果你也是寫的網頁程序,那就放在網頁文件夾下,用瀏覽器使用http://127.0.0.1/***.php來打開運行。
反正無需編譯,直接解釋運行。
❷ php5如何編譯
php不需要人工編譯。 運行的時候會即時編譯。
❸ 關於CENTOS上編譯安裝PHP5的問題,求教
Centos編譯安裝PHP 5.5筆記
Written by 一像素 on 2013年十月25日
本篇是在 Centos 6.4 32bit 下編譯安裝 php 5.5.5 的筆記,接上篇 Centos編譯安裝Apache 2.4.6筆記。php 5.5.x 和 centos 源裡面的 php 5.3.x 之間的性能差異見升級到 PHP 5.5.x + opcache。
首先是編譯准備工作:
yum groupinstall "Development tools"
然後是編譯安裝 PHP 5.5.x 需要用到的 devel 包:
yum install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel
從官方下載,解壓:
wget http://us3.php.net/get/php-5.5.5.tar.gz/from/cn2.php.net/mirror
tar -xvf php-5.5.5.tar.gz
cd php-5.5.5
編譯安裝 php 5.5 的參數:
./configure --with-apxs2=/usr/local/apache2/bin/apxs --disable-cli --enable-shared --with-libxml-dir --with-gd --with-openssl --enable-mbstring --with-mcrypt --with-mysqli --with-mysql --enable-opcache --enable-mysqlnd --enable-zip --with-zlib-dir --with-pdo-mysql --with-jpeg-dir --with-freetype-dir --with-curl --without-pdo-sqlite --without-sqlite3
我已經盡量的在參數上做了精簡,用以上參數編譯安裝好的 php 運行 wordpress, joomla, ip board 等常見的博客、論壇程序都是沒有問題的,因為有了 --disable-cli,所以就沒法 make test 了,安裝好以後也沒法 php -v 了。安裝吧:
make
make install
cp php.ini-proction /usr/local/lib/php.ini
#記住上面 php.ini 的位置哦。
是時候讓 apache 知道有 php 的存在了,在 apache 配置文件 httpd.conf 中添加:
LoadMole php5_mole moles/libphp5.so
#上面那行可能在編譯安裝 php 的過程中已經由系統自動添加了
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
OK!重啟 apache,人品好的人是不會出現問題的。
Tags: LAMP
Comments
# jieweiwo 2015-08-26 19:20
為啥我編譯安裝之後沒有bin目 錄 控制台無法執行
Reply
# 一像素 2015-08-26 19:53
編譯參數裡面的 --disable-cli 去掉。
Reply
# jieweiwo 2015-08-26 23:37
非常感謝你的教程!那這個編譯安 裝的php是不是就能應付一般的 的開發了 沒有安裝的特性以後需要怎麼辦?
Reply
# 一像素 2015-08-26 23:40
需要什麼再 --enable-xxx 就好了呀,不過真看不出還需要啥 了...俺不搞開發...
❹ php5.6編譯生成libphp5.so的問題求助
1 libphp5.so是php5提供的,
2 你還需要編譯php5才能生成這個文件 你在PHP的configure的時候,加上: --with-apxs2=/usr/local/apache/bin/apxs 這樣就會自動編譯一個libphp5.so出來了。
❺ windows下開發並編譯PHP擴展的方法
現在就簡單說一在WINDOWS下開發PHP擴展的步驟:
首先需要准備的軟體有:
cygwin
安裝路徑e:\app\cygwin
visual
studio
C++
6.0,
修改環境變數,把已經安裝好的PHP路徑設置為環境變數。在這里,假設我的PHP安裝目錄是:e:\app\php5.2.5,那麼我把WINDOWS環境變數後面加上這個安裝目錄。方便一會兒使用php.exe。
PHP源代碼,這里假設為e:\c_source_code\php-5.2.5
1、修改文件
「PHP源文件目錄/ext/ext_skel_win32.php」,在這里就是:E:\c_source_code\php-5.2.5\ext,其中主要是修改其中的cygwin路徑。$cygwin_path
=
'e:\app\cygwin\bin';
把$cygwin_path修改為你實際安裝cygwin的路徑。
2、在源代碼ext目錄也就是e:\c_source_code\php-5.2.5\ext下,執行
php
ext_skel_win32.php
--extname=<EXT_NAME>,此時會在ext目錄下生成<EXT_NAME>目錄,這個目錄就是我們將要進行PHP擴展開發的框架。比如你運行php.exe
ext_skel_win32.php
--extname=foo,會在ext目錄下生成foo目錄。
3、將php-root\dev\php5ts.lib拷貝至
「ext/<EXT_NAME>」中。比如你要開發的PHP擴展名為foo,那麼就需要把php-root\dev\php5ts.lib拷貝到PHP源文件目錄\ext\foo中。
4、修改foo.c內容,編寫我們需要的C代碼。
5、進入<EXT_NAME>目錄,打開<EXT_NAME>.dsp。
設置VC6工程,
設置菜單「組建」->「移除工程配置」,選中「Win
32
Release_TS」,
設置菜單「工程」,選中「Win
32
Release_TS」
打開Tab「連接」,設置「輸出文件名」中的目錄,
[可選]打開Tab「C/C++」,增加「預處理器定義」「,COMPILE_DL_<EXT_NAME>」(注意全大寫,默認加入的),取消預定義「LIBZEND_EXPORTS」(否則不可引入zend函數)。
6、設置好以後,進行編譯,會生成一個dll文件,文件名是<EXT_NAME>.dll,比如在我們的例子中就為foo.dll
把foo.dll拷到e:\app\ext目錄下,並在php.ini里加上一行extension=foo.dll,重啟一下apache,查看phpinfo();,會發現我們的PHP擴展foo()已經載入進來,已經可以使用這個foo擴展了。
❻ 編譯安裝php5.6 so文件在哪
php安裝的最後一步make install時,我們會看到將動態鏈接庫libphp5.so拷貝到apache2的安裝目錄的moles目錄下,並且還需要在httpd.conf配置文件中添加LoadMole語句來動態將libphp5.so模塊載入進來,從而實現Apache對php的支持。
❼ 如何編譯安裝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 http://cn2.php.net/distributions/php-5.5.9.tar.bz2
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 https://github.com/mongodb/mongo-php-driver
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
❽ centos7編譯php5.4.38時出錯
1. centos7信息
uname -a
Linux dev 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
2. 運行 ./configure 報錯
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
3. 運行 grep error config.log
cc: error: unrecognized command line option '-V'
cc: fatal error: no input files
cc: error: unrecognized command line option '-qversion'
cc: fatal error: no input files
conftest.c:9:19: fatal error: stdio.h: No such file or directory
configure:4076: error: in `/usr/local/src/php-5.6.19':
configure:4078: error: cannot run C compiled programs.
4. 按照網上說的方法 在configure後面加上了 --host=x86_64 ,報錯
configure: error: in `/usr/local/src/php-5.6.19':
configure: error: C preprocessor "/lib/cpp" fails sanity check
5. config.log中錯誤提示,差好幾個頭文件
cc: error: unrecognized command line option '-V'
cc: fatal error: no input files
cc: error: unrecognized command line option '-qversion'
cc: fatal error: no input files
conftest.c:9:19: fatal error: stdio.h: No such file or directory
configure:4076: error: in `/usr/local/src/php-5.6.19':
configure:4078: error: cannot run C compiled programs.
[root@dev php-5.6.19]# grep error config.log
cc: error: unrecognized command line option '-V'
cc: fatal error: no input files
cc: error: unrecognized command line option '-qversion'
cc: fatal error: no input files
conftest.c:9:19: fatal error: stdio.h: No such file or directory
conftest.c:9:20: fatal error: stdarg.h: No such file or directory
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
cc: error: unrecognized command line option '-qlanglvl=extc89'
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
cc: error: unrecognized command line option '-qlanglvl=ansi'
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
cc: error: unrecognized command line option '-std'
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
<command-line>:0:1: error: missing '(' after predicate
conftest.c:9:20: fatal error: stdarg.h: No such file or directory
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
<command-line>:0:1: error: missing '(' after predicate
conftest.c:9:20: fatal error: stdarg.h: No such file or directory
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
cc: error: unrecognized command line option '-Xc'
| These don't provoke an error unfortunately, instead are silently treated
| as 'x'. The following inces an error, until -std is added to get
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
conftest.c:12:0: fatal error: assert.h: No such file or directory
| Syntax error
conftest.c:12:0: fatal error: assert.h: No such file or directory
| Syntax error
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
conftest.c:10:21: fatal error: limits.h: No such file or directory
| Syntax error
configure:4478: error: in `/usr/local/src/php-5.6.19':
configure:4480: error: C preprocessor "/lib/cpp" fails sanity check
6. gcc安裝信息
[root@dev php-5.6.19]# rpm -qa | grep glibc
compat-glibc-headers-2.12-4.el7.centos.x86_64
glibc-utils-2.17-106.el7_2.4.x86_64
glibc-common-2.17-106.el7_2.4.x86_64
glibc-devel-2.17-106.el7_2.4.x86_64
glibc-static-2.17-106.el7_2.4.x86_64
glibc-2.17-106.el7_2.4.x86_64
glibc-headers-2.17-106.el7_2.4.x86_64
compat-glibc-2.12-4.el7.centos.x86_64
[root@dev php-5.6.19]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
❾ 如何使用Notepad++編譯運行php
Notepad++是一款簡潔常用的編輯器,可通過安裝插件來擴展功能,例如運行PHP
1 安裝notepad++,notepad++官方下載地址 http://notepad-plus-plus.org/ 或者進入資源下載
安裝很簡單,選擇默認設置,下一步即可。可以選擇安裝路徑。安裝完成後,即可看到Notepad++的中文界面
2 新建一個php文檔,內容如下。輸出「Hello World」。
[php] view plain
<?php
echo "Hello World!<br>";
?>
3 安裝編譯運行文件的插件。插件-Plugin Manager-Show Plugin Manager。
4 找到NppExec插件,從這個插件的名字來看就是各位文件的執行。點擊Install。需要下載安裝,如果失敗可能是網路不好,再試幾次即可。
5 重新啟動Notepad++,完成插件安裝。插件-NppExec-Execute,點擊執行,或直接按F6
6 在彈出的命令輸入窗口中輸入一下命令:
cd $(CURRENT_DIRECTORY)
D:\phpStudy4IIS\php52\php.exe $(FULL_CURRENT_PATH)
命令的含義是,進入當前文件目錄,使用已安裝的php.exe文件運行該文件。
D:\phpStudy4IIS\php52\php.exe為php的安裝路徑。
7 點擊OK後,運行該php文件
❿ PHP5與PHP5-dev有什麼區別
php5就是php5軟體本身,提供php腳本執行的運行時環境(runtime)
php5-dev是用來開發php擴展的,提供一些用來開發、編譯php5擴展程序的必要php組件,一般是一些php源碼的頭文件和依賴庫
PHP5-dev就是在5之後的開發者版本