導航:首頁 > 操作系統 > linuxphpsoap

linuxphpsoap

發布時間:2024-12-24 17:17:34

php中soapClient如何配置

一、linux下安裝soap模塊
安裝完php後最好保留當時安裝的文件,比如usr/local/php-5.3.2
查看soap模塊是否安裝的辦法:在php的安裝目錄下運行php -m來查看
如:/usr/local/php/bin/php -m |grep 『soap』
如果沒有安裝,則進入php的安裝源文件夾
cd php-5.3.2/ext/soap
進入後在此運行phpize命令
/usr/local/php/bin/phpize
查看信息是否有出錯,沒有出錯的話運行如下命令:
./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap
然後是安裝編譯
make
最後是安裝
make install
安裝好之後會提示soap.so文件的保存路徑
編譯後的soap.so文件保存在了/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222目錄下,接著修改php.ini文件
手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = 「./」,默認是注釋掉的
修改為extension_dir = 「/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222/」
並在此行後增加如下,然後保存:
extension = 「soap.so」
重新啟動apache,在運行php -m就已經能看到擴展的soap模塊了。
如果還要安裝擴展別的模塊可以以此類推。

二、Windows下安裝soap模塊

在Windows下可以通過修改php.ini來選擇當PHP啟動時載入哪些擴展庫。也可以在腳本中通過使用 dl()來動態載入。PHP擴展庫的DLL文件都具有php_前綴。很多擴展庫都內置於Windows版的PHP之中。這意味著要載入這些擴展庫不需要額外的DLL文件和extension配置指令。Windows下的PHP擴展庫列表列出了需要或曾經需要額外PHP DLL文件的擴展庫。
要在php.ini中啟用某擴展庫,需要去掉該行extension=php_*.dll前的注釋符號,將想要載入的擴展庫前的分號(;)刪除即可。
啟用php_soap.dll擴展庫
// 將這一行
;extension=php_soap.dll
// 改成這樣
extension=php_soap.dll
Note: 如果運行伺服器模塊版的PHP,在修改了php.ini之後別忘了重新啟動web伺服器以使其改動生效。

下面是內置的擴展庫列表:
php_bz2.dll bzip2壓縮函數庫
php_calendar.dll 歷法轉換函數庫
php_crack.dll 密碼破解函數庫
php_ctype.dll ctype家族函數庫
php_curl.dll CURL,客戶端URL庫函數庫
php_dba.dll DBA:資料庫(dbm 風格)抽象層函數庫
php_dbase.dll dBase函數庫
php_dbx.dll dbx函數庫
php_domxml.dll DOM XML函數庫
php_dotnet.dll .NET函數庫
php_exif.dll EXIF函數庫
php_fbsql.dll FrontBase函數庫
php_fdf.dll FDF:表單數據格式化函數庫
php_filepro.dll filePro函數庫
php_ftp.dll FTP函數庫
php_gd.dll GD庫圖像函數庫
php_gd2.dll GD庫圖像函數庫
php_gettext.dll Gettext函數庫
php_hyperwave.dll HyperWave函數庫
php_iconv.dll ICONV字元集轉換
php_ifx.dll Informix函數庫
php_iisfunc.dll IIS 管理函數庫
php_imap.dll IMAP,POP3 和 NNTP 函數庫
php_ingres.dll Ingres II函數庫
php_interbase.dll InterBasefunctions
php_java.dll Java函數庫
php_ldap.dll LDAP函數庫
php_mbstring.dll 多位元組字元串函數庫
php_mcrypt.dll Mcrypt 加密函數庫
php_mhash.dll Mhash函數庫
php_mime_magic.dll Mimetype函數庫
php_ming.dll Ming函數庫(Flash)
php_msql.dll mSQL函數庫
php_mssql.dll MSSQL函數庫
php_mysql.dll MySQL函數庫
php_mysqli.dll MySQLi函數庫
php_oci8.dll Oracle 8函數庫
php_openssl.dll OpenSSL函數庫
php_overload.dll 對象重載函數庫
php_pdf.dll PDF函數庫
php_pgsql.dll PostgreSQL函數庫
php_printer.dll 列印機函數庫
php_shmop.dll 共享內存函數庫
php_snmp.dll SNMP函數庫
php_soap.dll SOAP函數庫
php_sockets.dll Socket函數庫
php_sybase_ct.dll Sybase函數庫
php_tidy.dll Tidy函數庫
php_tokenizer.dll Tokenizer函數庫
php_w32api.dll W32api函數庫
php_xmlrpc.dll XML-RPC函數庫
php_xslt.dll XSLT函數庫
php_yaz.dll YAZ函數庫
php_zip.dll Zip文件函數庫
php_zlib.dll ZLib壓縮函數庫

Ⅱ 如何在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-proction /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

Ⅲ Linux系統中設置多版本PHP共存配合Nginx伺服器使用

應用環境
LNMP的環境,當前PHP版本5.3.8,遇到一個應用需求只支持PHP
5.2.x,又希望保持現有應用還是用PHP
5.3.8。也就是說需要兩個版本的PHP同時存在,供nginx根據需要調用不同版本。
思路
Nginx是通過PHP-FastCGI與PHP交互的。而PHP-FastCGI運行後會通過文件、或本地埠兩種方式進行監聽,在Nginx中配置相應的FastCGI監聽埠或文件即實現Nginx請求對PHP的解釋。
既然PHP-FastCGI是監聽埠和文件的,那就可以讓不同版本的PHP-FastCGI同時運行,監聽不同的埠或文件,Nginx中根據需求配置調用不同的PHP-FastCGI埠或文件,即可實現不同版本PHP共存了。
配置記錄
下面記錄簡單的配置流程,基於已經安裝了lnmp的debian環境。當前版本的PHP是5.3.8,位於/usr/local/php。
1.下載PHP-5.2.14及相關的FPM、autoconf組件:
mkdir
~/php5.2
cd
~/php5.2
wget
-c
http://museum.php.net/php5/php-5.2.14.tar.gz
wget
-c
http://php-fpm.org/downloads/php-5.2.14-fpm-0.5.14.diff.gz
2.解壓PHP-5.2.14,並打上PHP-FPM的補丁:
tar
zxvf
php-5.2.14.tar.gz
gzip
-cd
php-5.2.14-fpm-0.5.14.diff.gz
|
patch
-d
php-5.2.14
-p1
3.如果你已經通過lnmp安裝,應該已經安裝好了autoconf,如果沒有,請自行下載並編譯autoconf-2.13,然後設置autoconf環境變數:
export
PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf¬
export
PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader
3.編譯安裝PHP-5.2.14在新的路徑(/usr/local/php-5.2.14)下,注意–prefix、–with-config-file-path的路徑,並且打開fastcgi和fpm選項:
cd
php-5.2.14/
./buildconf
--force
./configure
--prefix=/usr/local/php-5.2.14
--with-config-file-path=/usr/local/php-5.2.14/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-fastcgi
--enable-fpm
make
ZEND_EXTRA_LIBS='-liconv'
make
install
4.設置/usr/local/php-5.2.14/etc/php-fpm.conf,監聽埠:
<value
name="listen_address">127.0.0.1:9001</value>
或者監聽文件:
<value
name="listen_address">/path/to/unix/socket</value>
其他參數根據伺服器環境和需求自行定製。
5.啟動php-fpm,以後可以通過php-fpm進行管理:
/usr/local/php-5.2.14/sbin/php-fpm
start
字php5.3.3後,php已經將php-fpm繼承到php中,而且內置的php-fpm默認不支持(start|stop|reload)的平滑啟動參數,需要使用官方源代碼中提供的啟動腳本來控制:
cp
-f
(php
-5.3.x-source-dir)/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
chmod
755
/etc/init.d/php-fpm
/etc/init.d/php-fpm
start
php-fpm支持的操作:
start,啟動PHP的FastCGI進程。
stop,強制終止PHP的FastCGI進程。
quit,平滑終止PHP的FastCGI進程。
restart,
重啟PHP的FastCGI進程。
reload,
重新載入PHP的php.ini。
logrotate,
重新啟用log文件。
5.3.3的php-fpm腳本支持的操作:start|stop|force-quit|restart|reload|status
6.配置好PHP-5.2.14的php.ini,重新載入生效:
vi
/usr/local/php-5.2.14/etc/php.ini
/usr/local/php-5.2.14/sbin/php-fpm
reload
7.修改nginx配置,對需要的服務配置使用PHP-5.2.14:
location
~
.*.(php|php5)?$
{
fastcgi_pass
127.0.0.1:9001;
fastcgi_index
index.php;
include
fcgi.conf;
}
8.記錄一下自己編譯php5.5.10使用的配置
./configure
--prefix=/usr/local/php-5.5.10
--with-config-file-path=/usr/local/php-5.5.10/etc
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-bz2
--with-curl=/usr/bin
--enable-ftp
--enable-sockets
--disable-ipv6
--with-gd
--with-jpeg-dir=/usr/local
--with-png-dir=/usr/local
--with-freetype-dir=/usr/local
--enable-gd-native-ttf
--with-iconv-dir=/usr/local
--enable-mbstring
--enable-calendar
--with-gettext
--with-libxml-dir=/usr/local
--with-zlib
--with-pdo-mysql=mysqlnd
--enable-dom
--enable-xml
--enable-fpm
--with-libdir=lib64
--with-mcrypt=/usr/bin
--enable-zip
--enable-soap
--enable-mbstring
--with-gd
--with-openssl
--enable-pcntl
--with-xmlrpc
--enable-opcache

閱讀全文

與linuxphpsoap相關的資料

熱點內容
華為文件夾命名大全 瀏覽:383
php無限分類循環 瀏覽:39
北漂程序員營養餐 瀏覽:103
掃描件pdf轉換成圖片 瀏覽:56
忍者必須死伺服器升級到什麼時候 瀏覽:337
鹼基最多配對演算法 瀏覽:829
命令和決定表彰上的區別 瀏覽:150
全國醫保服務平台app叫什麼 瀏覽:317
php輸出表單 瀏覽:237
西門子r變數編程入門 瀏覽:374
壓縮機器人怎麼做 瀏覽:285
魔獸懷舊服什麼時候來新伺服器 瀏覽:796
如何電腦網路加密 瀏覽:475
終端世界在編譯 瀏覽:771
白色洗碗棉手工解壓 瀏覽:748
JDM什麼app 瀏覽:512
編譯原理終止狀態判斷 瀏覽:751
怎樣設置桌面文件夾的樣子 瀏覽:871
怎麼進入hypixel伺服器國服 瀏覽:84
如何編譯openwrt更快 瀏覽:102