第一种方法:采用useradd/adduser与passwd命令添加;
第二种方法:手动添加普通用户,以jiangc用户为例;
1、编辑/etc/passwd文件;
照猫画虎添加一行保存退出;
jiangc:x:501:501::/home/jiangc:/bin/bash
2、编辑/etc/shadow文件;
由于/etc/shadow为只读权限;有两种方法可以解决向文家中写数据;
一种为echo结合“>>”法,即采用追加法;
另一种为采用chmod命令将/etc/shadow权限修改一下即可,修改完以后再将其权限改为只读权限;
同样照猫画虎添加一行;
jiangc:$1$./ye2SA7$GK0BTb9XvOXKfRtkRodaT1:13430:0:99999:7:::
注:其中的第二项密码部分可以用md5sum命令生成后拷贝过来,也可以最后采用passwd自动生成;
3、编辑/etc/group与/etc/gshadow,方法1、2项;
4、建立jiangc用户的工作目录;
mkdir /home/jiangc
5、将/etc/skel/下文件拷贝至/home/jiangc目录下;
cp -r /etc/skel/.??*
/home/jiangc/
6、修改/home/jiangc目录的用户归属;
chown -r jiangc.jiangc
/home/jiangc
7、为jiangc用户添加密码;(注:如在第2步中采用md5sum已经将密码设置完,此步可以不做);
passwd jiangc
OK!到此为止,jiangc用户就添加成功;
版权归属于VincentChiang,转载敬请注明出处及作者名称,谢谢!!
==================================
创建新的帐号有几种方法. 我们将使用最基本的方法; useradd命令. 基本上, 所有您要输入的(记住,作为root!)就是:
阅读全文
第二种方法:手动添加普通用户,以jiangc用户为例;
1、编辑/etc/passwd文件;
照猫画虎添加一行保存退出;
jiangc:x:501:501::/home/jiangc:/bin/bash
2、编辑/etc/shadow文件;
由于/etc/shadow为只读权限;有两种方法可以解决向文家中写数据;
一种为echo结合“>>”法,即采用追加法;
另一种为采用chmod命令将/etc/shadow权限修改一下即可,修改完以后再将其权限改为只读权限;
同样照猫画虎添加一行;
jiangc:$1$./ye2SA7$GK0BTb9XvOXKfRtkRodaT1:13430:0:99999:7:::
注:其中的第二项密码部分可以用md5sum命令生成后拷贝过来,也可以最后采用passwd自动生成;
3、编辑/etc/group与/etc/gshadow,方法1、2项;
4、建立jiangc用户的工作目录;
mkdir /home/jiangc
5、将/etc/skel/下文件拷贝至/home/jiangc目录下;
cp -r /etc/skel/.??*
/home/jiangc/
6、修改/home/jiangc目录的用户归属;
chown -r jiangc.jiangc
/home/jiangc
7、为jiangc用户添加密码;(注:如在第2步中采用md5sum已经将密码设置完,此步可以不做);
passwd jiangc
OK!到此为止,jiangc用户就添加成功;
版权归属于VincentChiang,转载敬请注明出处及作者名称,谢谢!!
==================================
创建新的帐号有几种方法. 我们将使用最基本的方法; useradd命令. 基本上, 所有您要输入的(记住,作为root!)就是:
阅读全文
漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。80sec发现其中存在一个较为严重的安全问题,默认情况下可能导致服务器错误的将任何类型的文件以PHP的方式进行解析,这将导致严重的安全问题,使得恶意的攻击者可能攻陷支持php的nginx服务器。阅读全文
PHP中的全局变量$_SERVER['PATH_INFO']是一个很有用的参数,众多的CMS系统在美化自己的URL的时候,都用到了这个参数。
对于下面这个网址:
http://www.test.com/index.php/foo/bar.html?c=index&m=search
我们可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html’,而此时 $_SERVER['QUERY_STRING'] = 'c=index&m=search';
通常,我们最初开始PHP程序编写的时候,都会使用诸如: http://www.test.com/index.php?c=search&m=main 这样的URL,这种URL不仅看起来非常奇怪,而且对于搜索引擎也是非常不友好的。很多搜索引擎收录的时候,都会忽略Query String之后的内容,google虽然不会忽略Query String,但是对于其他不含Query String的页面,会给于比较高的PR值。
下面是一段解析PATH_INFO的非常简单的代码:
php b.php
Array
(
[dirname] => ali-bj-hd://encodevideo/1df33be864364b04bb7ac3a6e3500c7c
[basename] => 2019_11_28_2eDBGGJ5sQ_450.mp4
[extension] => mp4
[filename] => 2019_11_28_2eDBGGJ5sQ_450
)
对于下面这个网址:
http://www.test.com/index.php/foo/bar.html?c=index&m=search
我们可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html’,而此时 $_SERVER['QUERY_STRING'] = 'c=index&m=search';
通常,我们最初开始PHP程序编写的时候,都会使用诸如: http://www.test.com/index.php?c=search&m=main 这样的URL,这种URL不仅看起来非常奇怪,而且对于搜索引擎也是非常不友好的。很多搜索引擎收录的时候,都会忽略Query String之后的内容,google虽然不会忽略Query String,但是对于其他不含Query String的页面,会给于比较高的PR值。
下面是一段解析PATH_INFO的非常简单的代码:
<?php
if( !isset( $_SERVER['PATH_INFO'] ) ){
$pathinfo = 'default';
}else{
$pathinfo = explode('/', $_SERVER['PATH_INFO']);
}
if( is_array($pathinfo) AND !empty($pathinfo) ){
$page = $pathinfo[1];
}else{
$page = 'a.php';
}
require "$page.php";
?>
if( !isset( $_SERVER['PATH_INFO'] ) ){
$pathinfo = 'default';
}else{
$pathinfo = explode('/', $_SERVER['PATH_INFO']);
}
if( is_array($pathinfo) AND !empty($pathinfo) ){
$page = $pathinfo[1];
}else{
$page = 'a.php';
}
require "$page.php";
?>
php b.php
Array
(
[dirname] => ali-bj-hd://encodevideo/1df33be864364b04bb7ac3a6e3500c7c
[basename] => 2019_11_28_2eDBGGJ5sQ_450.mp4
[extension] => mp4
[filename] => 2019_11_28_2eDBGGJ5sQ_450
)
•作者: laruence(http://www.laruence.com)
•本文地址: http://www.laruence.com/2010/05/14/1473.html
•转载请注明出处
在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题.
今天我就介绍一种, 自动生成UML图的方法.
下载:http://pear.php.net/package/PHP_UML
假设, 我有一个项目文件夹:laruence, 在这个文件夹上有一个文件Root.php(事实上, 无论多级目录, 多个文件, 都可以).
首先, 我们要使用PHP_UML(PHP_UML)根据代码生成XMI.
使用方法比较简单, 在安装PHP_UML以后, 运行:
pear安装PHP_UML命令的方法:/usr/local/php/bin/pear install PHP_UML-1.5.2
http://pear.php.net/package/PHP_UML/download
Linux下试安了下:
[root@test bin]# ./pear install PHP_UML-1.6.1
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
pear/PHP_UML requires PHP extension "XSL"
downloading Console_CommandLine-1.2.0.tgz ...
Starting to download Console_CommandLine-1.2.0.tgz (39,740 bytes)
..........done: 39,740 bytes
install ok: channel://pear.php.net/Console_CommandLine-1.2.0
上面说要更新pearl,于是:
[root@test bin]# pear channel-update pear.php.net
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
继续:
/usr/local/php/bin/pear
pear/PHP_UML requires PHP extension "XSL"
No valid packages found
install failed
这段话的意思是“pear/PHP_UML需要php的扩展“XSL”,没有找到有效的软件包,安装失败。”
Windows:
extension=php_xsl.dll
Linux:
安装扩展xsl
找到安装包
find -name php-5.2.17*
进入安装包所在目录
如果是压缩的执行下边这条指令,已经解压缩的就跳过进入下一条指令
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17/ext/xsl
/usr/local/php_fcgi/bin/phpize
./configure --with-php-config=/usr/local/php_fcgi/bin/php-config
make
make install
出现提示
Installing shared extensions: /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/
然后在php_fcgi目录中的php.ini中增加一个注释extension = xsl.so就可以了,找到当时的源码目录,按上面操作也Ok。
后也就安装Ok了,如下:
[root@test bin]# ./pear install PHP_UML-1.6.1
downloading PHP_UML-1.6.1.tgz ...
Starting to download PHP_UML-1.6.1.tgz (518,959 bytes)
.........................................................................................................done: 518,959 bytes
install ok: channel://pear.php.net/PHP_UML-1.6.1
于是有这个文件了:/usr/local/php/bin/phpuml
/usr/local/php/bin/phpuml ./ -o myPro.xmi -n myPro -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
-o directory Output directory path, or filename
-n name Name of the generated UML model
-e encoding Output character encoding
-f php 输出的是挖空方法名里的代码,保留:变量,函数,注释。
-f format, --format=format Output format: "xmi" (default),
"html", "htmlnew", "php"
For html/htmlnew/php, if you want to
provide your own XMI file, pass it as
argument to phpuml
-m pattern, --match=pattern Patterns to match (default is: *.php)
-i pattern, --ignore=pattern Patterns/pathnames to ignore
phpuml /var/www/test -o /tmp -x 1 -n Foo -m *.php6 -i .svn
实践Ok的注意点,变量注释及函数名注释[2014/2/15]:
加上 -e gbk 生成的xmi文件,其代码里的中文注释才能在Altova UModel生成的Html里以Utf8编码打开方式打开正常:
/usr/local/php/bin/php /usr/local/php/bin/phpuml /data/htdocs/xiyou_alpha -e gbk -o /data/htdocs/tools.jackxiang.com/xiyou_php_uml/xiYouDomainUml.xmi -n xiYouDomainUml -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
一、PHP先生成xmi,后经过Altova UModel导入再生成html。
常用。
二、直接用PHPUML生成Html,将生成Html文档(定期在Linux机器上生成):
http://lifei123.blog.51cto.com/2487662/435638
/usr/local/php/bin/php /usr/local/php/bin/phpuml /data/htdocs/xiyou_alpha -e gbk -o /data/htdocs/tools.xiyou.cntv.cn/xiyou_php_uml/uml2html -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
三、其它工具:利用Enterprise Architect识别PHP输出UML图:
http://leeon.me/a/How-to-use-Enterprise-Architect-to-output-UML
四、还有一个工具可以生成调用图::Altova MapForce,这个工具可以支持XMI到UML图的转换
http://www.icultivator.com/p/6191.html
五、UML多做一点PHP代码少写一点: http://www.linxun.info/?p=270
我试试:--->下面这个猜想是不对的,这个玩意呀,是一个pear来安装的,于是你的安装pear后,再安装它才行
Error:
Fatal error: require_once(): Failed opening required 'Console/CommandLine.php' (
include_path='.;C:\php5\pear') in D:\APMServ5.2.6\www\htdocs\UML_TOOLS\PHP_UML-1
.5.2\scripts\phpuml on line 26
我随即下载了一个张宴的apm,经过后面的安装,我们才能得到正确的结果,following me ,ok:
会得到一个laruence.xmi文件, phpuml的具体参数可以通过phpuml –help了解.
有了xmi以后, 如何转成UML图呢?
Visio2007不支持导入XMI, 我找到了另外的一个工具:Altova Umodel(我下载了一个:2010破解版本的,发现用不了,看膘哥一篇文章:http://www.neatstudio.com/show-1280-1.shtml 用的是这个Altova MapForce,下载地址:https://shop.altova.com/pricelist.asp), 这个工具可以支持XMI到UML图的转换, 需要注册, 不过提供了30天的使用许可(大家要是有更好的替换方案, 欢迎补充).
华军软件园也有下载,我南方网通,网通下载较快:http://www.newhua.com/softdown/94173_2.htm
DownLoad: http://soft2.jdxz.net/down/Altova%20UModel%20Enterprise%202010%20v12.0%20%D3%A2%CE%C4%B0%E6.rar?2101486036745x1275809647x2101486777479-7b2c187951d3b18f487f3f72eda0eeeb 2010 破解版本网上都有的:)
使用方法:导入和生成
1.File -》Import From XMI File
2.Project-》Generate Documentation (可选 :生成HTML和Word的Doc文档)
在Umodel导入laruence.xmi以后 ,生成UML图, 就得到了如下的PNG:
是不是很方便呢?
另外PHP_UML还可以生成html格式, 做为一种doc gen工具也不错. 更可以通过xmi生成PHP文件.
安装pear的可能出现的情况:
-------------------------
进入php目录,直接运行pear.bat,因为目录下有这个文件。但是告诉我不对,所以我准备重装pear,怎么装呢?官方告诉我,下载一个go-pear.php文件,用PHP执行一下就可以了。
下载好go-pear.php文件后,拷到php目录下,运行:php go-pear.php,然后就一步一步的往下安装PEAR了。装的时候请选择system而不是local。安装完毕后生成一个REG文件,这是让你执行一下,把PHP的环境变量加到系统中。
这时候,就可以运行pear install PHP_UML-1.5.2了,第一件郁闷的事情就发生了,系统提示,php_uml需要xsl的支持,因为我用的是绿色版的,所以我修改了一下我的php.ini后,继续执行时,仍然提示需要xsl,不是特别明白的时候,我看了一下我的php.ini,确认是加载了。但再次运行又是提示,最后我运行php --ini,才发现,原来命令行下用的php.ini居然是在c:\windows下面,而不是我绿色版中配置的php.ini文件。我把php.ini拷贝到c:\windows下后,程序可以顺利执行,安装完毕php_uml了。
第二件郁闷的事情接踵而至,按照上文的程序方式,我生成了xmi文件,却发现无法打开,怎么办?按照 文件提示下载了那个Altova MapForce
php -d output_buffering=0 PEAR\go-pear.phar
D:\APMServ5.2.6\PHP>php -d output_buffering=0 PEAR\go-pear.phar
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : local
Please confirm local copy by typing 'yes' :
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : D:\APMServ5.2.6\PHP
2. Temporary directory for processing : D:\APMServ5.2.6\PHP\tmp
3. Temporary directory for downloads : D:\APMServ5.2.6\PHP\tmp
4. Binaries directory : D:\APMServ5.2.6\PHP
5. PHP code directory ($php_dir) : D:\APMServ5.2.6\PHP\pear
6. Documentation directory : D:\APMServ5.2.6\PHP\docs
7. Data directory : D:\APMServ5.2.6\PHP\data
8. User-modifiable configuration files directory : D:\APMServ5.2.6\PHP\cfg
9. Public Web Files directory : D:\APMServ5.2.6\PHP\www
10. Tests directory : D:\APMServ5.2.6\PHP\tests
11. Name of configuration file : C:\Windows\pear.ini
12. Path to CLI php.exe : D:\APMServ5.2.6\PHP
1-12, 'all' or Enter to continue:
Beginning install...
Configuration written to C:\Windows\pear.ini...
Initialized registry...
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.2.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.7.1.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
install ok: channel://pear.php.net/Archive_Tar-1.3.2
install ok: channel://pear.php.net/Console_Getopt-1.2.3
install ok: channel://pear.php.net/Structures_Graph-1.0.2
install ok: channel://pear.php.net/PEAR-1.7.1
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
******************************************************************************
WARNING! The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
<D:\APMServ5.2.6\PHP\pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.
Would you like to alter php.ini <D:\APMServ5.2.6\PHP\php.ini>? [Y/n] : y
php.ini <D:\APMServ5.2.6\PHP\php.ini> include_path updated.
Current include path : .;C:\php5\pear
Configured directory : D:\APMServ5.2.6\PHP\pear
Currently used php.ini (guess) : D:\APMServ5.2.6\PHP\php.ini
Press Enter to continue:
** WARNING! Old version found at D:\APMServ5.2.6\PHP, please remove it or be sure to use the new d:\apmserv5.2.6\php\pear.bat command
The 'pear' command is now at your service at d:\apmserv5.2.6\php\pear.bat
* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under D:\APMServ5.2.6\PHP\PEAR_ENV.reg .
This file creates ENV variables for the current user.
Double-click this file to add it to the current user registry.
D:\APMServ5.2.6\PHP>pear install PHP_UML-1.5.2
Warning: Invalid argument supplied for foreach() in PEAR\Downloader.php on line 555
Warning: Invalid argument supplied for foreach() in D:\APMServ5.2.6\PHP\PEAR\PEAR\Downloader.php on line 555
downloading PHP_UML-1.5.2.tgz ...
Starting to download PHP_UML-1.5.2.tgz (503,404 bytes)
..................................
在张宴的默认安装目录: D:\APMServ5.2.6\www\htdocs
建立目录:\laruence ,目录下建立:laruence.php
cmd下:
cd D:\APMServ5.2.6\www\htdocs
运行命令:
运行结束后,在目录:D:\APMServ5.2.6\www\htdocs
下,你可以看到生成了一个:laruence.xmi 文件,大功告成!!!
随后,你可以按照风雪说的,搞个破解版本的Altova Umodel 2010,我google看有并下载了一个,呵呵,感觉不错。
代码审查查,得再用一次:
先下载:http://pear.php.net/package/PHP_UML 后解压,然后运行时提示如下:
PHP Warning: require_once(PHP/UML.php): failed to open stream: No such file or directory ...
PHP Fatal error: require_once(): Failed opening required 'PHP/UML.php'
原来是找不到文件:
require_once 'Console/CommandLine.php';
require_once 'PHP/UML.php';
这两行的问题,于是解决方法如下:
1)建立PHP目录,把下载的文件放里面。
2)构造PHP的PATH路径,如下:
如果你换一个位置:define("LIB_PATH","/home/jackxiang/PHPUML/"); 目录得换,或者写成相对的。
然后再次执行:
我执行这个Ok生成:
下载后的验证码URL:http://jackxiang.com/post/4627/
使用方法:导入和生成
1.File -》Import From XMI File
2.Project-》Generate Documentation (可选 :生成HTML和Word的Doc文档)
这个哥们的博客也写吧,觉得生成html这块还不错,如下:
URL:http://lifei123.blog.51cto.com/2487662/435638
一般的使用方法是:
phpuml 项目目录 -o 项目名.xmi -n 项目名 -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
得到的文件是xmi格式的,需要使用软件进行转换,经过尝试,StarUML可以转(需要注意的是StarUML、ArgoUML只支持PHP_UML的XMI格式1.0,而不支持2.0,因此需要在命令行中加入-x 1.0)。 也可以使用
phpuml 项目目录 -o 项目名.xmi -n 项目名 -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
实例:
/root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php
PHP Warning: chdir(): Not a directory (errno 20) in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 129
PHP Fatal error: Class 'XSLTProcessor' not found in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 133
查询Google,有人为此提交了一个Bug,URL:http://pear.php.net/bugs/bug.php?id=16924&edit=3
最后,提示是没有安装扩展,PHP_UML depends on the PHP module "XSL".dl("php_libxslt.so");
Description:
------------
When I run the cli version I´ll get a Fatal error
Using this command
phpuml /var/www/htdocs/project -f html -o /var/www/UML/
Get this respons
Fatal error: Class 'XSLTProcessor' not found in /usr/local/lib/php/PHP/UML/Output/ExporterXSL.php on line 133
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: baptiste
Hello,
PHP_UML depends on the PHP module "XSL".
It seems that this module is not enabled in your configuration.
To enable it, remove the ";" in the line ";extension=php_xsl.dll" in your php.ini
Linux下安装:
php_libxslt - a simple libxslt PHP/XSL extension
Overview ::
php_libxslt is a very simple PHP extension to transform XML documents using the GNOME XSLT C library. It provides an alternative XSLT engine to the current PHP default XSL extension. It currently seems to work fine (and serves this site since more than 2 years), but there's (as always) room for improvements. There's e.g. no serious error handling implemented yet (any volunteers?).
php_libxslt has been tested using PHP4.1.2/libxslt 1.0.16 on Linux/PowerPC (Debian/woody), PHP4.2.3/libxslt 1.0.16 on Linux/i386 (Debian) and PHP4.3.1 on Linux/i386 (RedHat), test reports (success/failure) especially regarding platforms different from Linux are welcome, contact axelm-php(at)nona.net.
Download ::
Note: The file below is rather small (about 15kB), so the download may be finished within just a few seconds. Note well: Retrying doesn't increase the file's size ;).
Source code: php_libxslt-0.3.0.tar.gz Here: http://nona.net/download/php_libxslt-0.3.0.tar.gz
md5sum: 08e896ccc06c5c79d47e90de646e07c0
Installation ::
Please refer to the file INSTALL in the tarball if you are installing from source, or to the dpkg man page if you are using the Debian packages. For building the Debian packages from the source tarball please refer to INSTALL.Debian.
Usage ::
php_libxslt has a very simple interface (as it provides just one function). A few examples are provided in the "examples" directory of the distribution. Simply transforming XML using an XSL stylesheet is done by calling:
<?
dl("php_libxslt.so");
$transformed = libxslt_transform($xmlstring, $xsltstring);
?>
first argument: XML string to be transformed (no file name, the XML document itself)
second argument: XSL stylesheet string (again, no file name, stylesheet itself required)
return value: Transformation output (if transformation did succeed) or XML input document (if transformation did fail).
Adding XSLT parameters ::
If you want to hand over parameters to your stylesheet, call the function with the (optional) third argument containing the XSL parameters in a hash:
<?
dl("php_libxslt.so");
$xslparam['ExampleParameter'] = "'Example Value'";
$xslparam['OtherParameter'] = "'Another Value'";
$transformed = libxslt_transform($xmlstring,
$xsltstring, $xslparam);
?>
(Be careful regarging quoting of the parameter strings, unquoted parameters will be interpreted by libxslt)
Error handling ::
If, for any reason, the XSL transformation does not succeed, the original XML string is returned. Detailed error messages should show up in your web servers error log.
Questions? Feedback? ::
Feel free to contact me at axelm-php(at)nona.net. Feedback, comments, questions and build/bug reports are welcome.
以上来源:http://nona.net/software/phplibxslt/
<?php
//$xml = new DomDocument;
//$xml->load('test.xml');
$xsl = new DomDocument;
//$xsl->load('test.xsl');
$xslt = new Xsltprocessor;
//$xslt->importStylesheet($xsl);
//$transformation = $xslt->transformToXml($xml);
//echo $transformation;
?>
PHP Fatal error: Class 'Xsltprocessor' not found in /root/software/php_libxslt-0.3.0/test.php on line 8
https://bugs.php.net/bug.php?id=37969&edit=1
如果你在php5中用xslt_create()这个php4中的方法时,将会得到call to undefined function xslt_create()这个error。
reason is : 该扩展已经从 PHP 5 中移出,然后移入到 PECL 仓库中。 php5的ext目录下已经没有php_xslt.dll了,取而代之的是php_xsl.dll。
phpinfo();没有找到。
用下面代码探测:
<?php
if(extension_loaded("xsl")) {
if(class_exists("XSLTProcessor")) {
trigger_error("XSL loaded and ready", E_USER_NOTICE);
}
else {
trigger_error("XSL extension loaded but class could not be found", E_USER_ERROR);
}
}
else {
trigger_error("XSL extension has not been loaded", E_USER_ERROR);
}
root@116.255.139.240:/data0/htdocs/blog# php xsl.php
PHP Fatal error: XSL extension has not been loaded in /data0/htdocs/blog/xsl.php on line 11
果然没有!!!
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
./
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# ./configure
checking for XSL support... yes, shared
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
oot@116.255.139.240:~/software/php-5.3.8/ext/xsl# rpm -qa libxslt
libxslt-1.1.17-2.el5_2.2
whereis xslt-config
然后./configure --help 看看--with-xsl指定他的详细路径。
找到他的位置:
root@116.255.139.240:/# rpm -ql libxslt-1.1.17-2.el5_2.2|grep xslt-config
root@116.255.139.240:/#
在URL:http://www.hackbase.com/tech/2011-09-09/65235.html 找到:
错误二十
configure:error:xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决方法:
#yum install libxslt libxslt-devel
如下:
Running Transaction
Installing : libgpg-error-devel 1/3
Installing : libgcrypt-devel 2/3
Installing : libxslt-devel 3/3
Installed:
libxslt-devel.i386 0:1.1.17-2.el5_2.2
Dependency Installed:
libgcrypt-devel.i386 0:1.4.4-5.el5 libgpg-error-devel.i386 0:1.4-2
Complete!
再编译:
Build complete.
Don't forget to run 'make test'. 通过了,原来就没有安装: libxslt-devel,xslt-config在 libxslt-devel这个包里面,确定如下:
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# rpm -ql libxslt-devel-1.1.17-2.el5_2.2|grep xslt-config
/usr/bin/xslt-config
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# make install
Installing shared extensions: /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# ls /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
eaccelerator.so imagick.so memcache.so pdo_mysql.so soap.a soap.so ssh2.so syck.so xdebug.so xsl.so
xsl.so加入PHP.ini中即可。
最后,生成Html就Ok了:
mkdir /tmp/html
chmod -R 777 /tmp/html
php ./phpuml /home/jackxiang/public_html/adc/web_adc_proj/trunk -o /tmp/html -n adcGenOutHtml -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
?root@116.255.139.240:/tmp/html# ls
inherit.gif style.css
php ./phpuml --help
Options:
-o directory Output directory path, or filename
(if not provided, the XMI code is
printed on screen)
-f format, --format=format Output format: "xmi" (default),
"html", "htmlnew", "php"
For html/htmlnew/php, if you want to
provide your own XMI file, pass it as
argument to phpuml
-x XMI version XMI version to generate (1 or 2)
-n name Name of the generated UML model
生成了xmi1.0的,但是用它来给Altova UModel解析,出现错误:
对比:
强行生成xmi1.0的导入:
... finished XMI import - 7 error(s), 1 warning(s)
默认生成的xmi导入:
... finished XMI import - 0 error(s), 7180 warning(s)
PHP Warning: DOMDocument::loadXML(): Entity 'bull' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'deg' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'dagger' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'Dagger' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'plusmn' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'permil' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'trade' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'micro' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP生成html结尾的文件实践Ok及感悟:
Use the option -f to specify which format you want phpuml to generate.
$ phpuml /var/www/foo -f html -o /var/tmp/
This will scan /var/www/foo, and create the API documentation in /var/tmp/.
If you need to provide your own XMI file (instead of parsing existing PHP files), simply pass it as argument.
$ phpuml myFile.xmi -f php -o /var/tmp/
This will read the XMI code contained in myFile.xmi, and generate the PHP code templates in /var/tmp/.
下面我是测试Ok的,一个是由xmi转回为PHP文件,第二个是把PHP文件转为Html的类继承图:
还可以忽略某些目录的扫描,扫描规定某后缀文件名,等等,昨天晚上搞了很晚,最后找到文档
唯有文档,只有文档才是最好的参考,什么书啊,博客啊,都是部分,或者有失真,所以贴上其
PHPUML文档的URL:
http://pear.php.net/manual/en/package.php.php-uml.command-line.php
•本文地址: http://www.laruence.com/2010/05/14/1473.html
•转载请注明出处
在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题.
今天我就介绍一种, 自动生成UML图的方法.
下载:http://pear.php.net/package/PHP_UML
假设, 我有一个项目文件夹:laruence, 在这个文件夹上有一个文件Root.php(事实上, 无论多级目录, 多个文件, 都可以).
<?php abstract class Root {
private $instance;
abstract public function Hi();
}
interface Intro {
public function Say();
}
class Sub extends Root implements Intro {
private $instance;
public function Say() {
echo "I am Laruence";
}
public function Hi() {
echo "Hello!";
}
}
?>
private $instance;
abstract public function Hi();
}
interface Intro {
public function Say();
}
class Sub extends Root implements Intro {
private $instance;
public function Say() {
echo "I am Laruence";
}
public function Hi() {
echo "Hello!";
}
}
?>
首先, 我们要使用PHP_UML(PHP_UML)根据代码生成XMI.
使用方法比较简单, 在安装PHP_UML以后, 运行:
pear安装PHP_UML命令的方法:/usr/local/php/bin/pear install PHP_UML-1.5.2
http://pear.php.net/package/PHP_UML/download
Linux下试安了下:
[root@test bin]# ./pear install PHP_UML-1.6.1
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
pear/PHP_UML requires PHP extension "XSL"
downloading Console_CommandLine-1.2.0.tgz ...
Starting to download Console_CommandLine-1.2.0.tgz (39,740 bytes)
..........done: 39,740 bytes
install ok: channel://pear.php.net/Console_CommandLine-1.2.0
上面说要更新pearl,于是:
[root@test bin]# pear channel-update pear.php.net
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
继续:
/usr/local/php/bin/pear
pear/PHP_UML requires PHP extension "XSL"
No valid packages found
install failed
这段话的意思是“pear/PHP_UML需要php的扩展“XSL”,没有找到有效的软件包,安装失败。”
Windows:
extension=php_xsl.dll
Linux:
安装扩展xsl
找到安装包
find -name php-5.2.17*
进入安装包所在目录
如果是压缩的执行下边这条指令,已经解压缩的就跳过进入下一条指令
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17/ext/xsl
/usr/local/php_fcgi/bin/phpize
./configure --with-php-config=/usr/local/php_fcgi/bin/php-config
make
make install
出现提示
Installing shared extensions: /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/
然后在php_fcgi目录中的php.ini中增加一个注释extension = xsl.so就可以了,找到当时的源码目录,按上面操作也Ok。
后也就安装Ok了,如下:
[root@test bin]# ./pear install PHP_UML-1.6.1
downloading PHP_UML-1.6.1.tgz ...
Starting to download PHP_UML-1.6.1.tgz (518,959 bytes)
.........................................................................................................done: 518,959 bytes
install ok: channel://pear.php.net/PHP_UML-1.6.1
于是有这个文件了:/usr/local/php/bin/phpuml
phpuml laruence/ -o laruence.xmi -n laruence -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
/usr/local/php/bin/phpuml ./ -o myPro.xmi -n myPro -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
-o directory Output directory path, or filename
-n name Name of the generated UML model
-e encoding Output character encoding
-f php 输出的是挖空方法名里的代码,保留:变量,函数,注释。
-f format, --format=format Output format: "xmi" (default),
"html", "htmlnew", "php"
For html/htmlnew/php, if you want to
provide your own XMI file, pass it as
argument to phpuml
-m pattern, --match=pattern Patterns to match (default is: *.php)
-i pattern, --ignore=pattern Patterns/pathnames to ignore
phpuml /var/www/test -o /tmp -x 1 -n Foo -m *.php6 -i .svn
实践Ok的注意点,变量注释及函数名注释[2014/2/15]:
加上 -e gbk 生成的xmi文件,其代码里的中文注释才能在Altova UModel生成的Html里以Utf8编码打开方式打开正常:
/usr/local/php/bin/php /usr/local/php/bin/phpuml /data/htdocs/xiyou_alpha -e gbk -o /data/htdocs/tools.jackxiang.com/xiyou_php_uml/xiYouDomainUml.xmi -n xiYouDomainUml -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
一、PHP先生成xmi,后经过Altova UModel导入再生成html。
常用。
二、直接用PHPUML生成Html,将生成Html文档(定期在Linux机器上生成):
http://lifei123.blog.51cto.com/2487662/435638
/usr/local/php/bin/php /usr/local/php/bin/phpuml /data/htdocs/xiyou_alpha -e gbk -o /data/htdocs/tools.xiyou.cntv.cn/xiyou_php_uml/uml2html -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
三、其它工具:利用Enterprise Architect识别PHP输出UML图:
http://leeon.me/a/How-to-use-Enterprise-Architect-to-output-UML
四、还有一个工具可以生成调用图::Altova MapForce,这个工具可以支持XMI到UML图的转换
http://www.icultivator.com/p/6191.html
五、UML多做一点PHP代码少写一点: http://www.linxun.info/?p=270
我试试:--->下面这个猜想是不对的,这个玩意呀,是一个pear来安装的,于是你的安装pear后,再安装它才行
php phpuml D:\APMServ5.2.6\www\htdocs\soa\soa1.0 soa_uml_jackxiang.xmi -n laruence -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
Error:
Fatal error: require_once(): Failed opening required 'Console/CommandLine.php' (
include_path='.;C:\php5\pear') in D:\APMServ5.2.6\www\htdocs\UML_TOOLS\PHP_UML-1
.5.2\scripts\phpuml on line 26
我随即下载了一个张宴的apm,经过后面的安装,我们才能得到正确的结果,following me ,ok:
会得到一个laruence.xmi文件, phpuml的具体参数可以通过phpuml –help了解.
有了xmi以后, 如何转成UML图呢?
Visio2007不支持导入XMI, 我找到了另外的一个工具:Altova Umodel(我下载了一个:2010破解版本的,发现用不了,看膘哥一篇文章:http://www.neatstudio.com/show-1280-1.shtml 用的是这个Altova MapForce,下载地址:https://shop.altova.com/pricelist.asp), 这个工具可以支持XMI到UML图的转换, 需要注册, 不过提供了30天的使用许可(大家要是有更好的替换方案, 欢迎补充).
华军软件园也有下载,我南方网通,网通下载较快:http://www.newhua.com/softdown/94173_2.htm
DownLoad: http://soft2.jdxz.net/down/Altova%20UModel%20Enterprise%202010%20v12.0%20%D3%A2%CE%C4%B0%E6.rar?2101486036745x1275809647x2101486777479-7b2c187951d3b18f487f3f72eda0eeeb 2010 破解版本网上都有的:)
使用方法:导入和生成
1.File -》Import From XMI File
2.Project-》Generate Documentation (可选 :生成HTML和Word的Doc文档)
在Umodel导入laruence.xmi以后 ,生成UML图, 就得到了如下的PNG:
是不是很方便呢?
另外PHP_UML还可以生成html格式, 做为一种doc gen工具也不错. 更可以通过xmi生成PHP文件.
安装pear的可能出现的情况:
-------------------------
进入php目录,直接运行pear.bat,因为目录下有这个文件。但是告诉我不对,所以我准备重装pear,怎么装呢?官方告诉我,下载一个go-pear.php文件,用PHP执行一下就可以了。
下载好go-pear.php文件后,拷到php目录下,运行:php go-pear.php,然后就一步一步的往下安装PEAR了。装的时候请选择system而不是local。安装完毕后生成一个REG文件,这是让你执行一下,把PHP的环境变量加到系统中。
这时候,就可以运行pear install PHP_UML-1.5.2了,第一件郁闷的事情就发生了,系统提示,php_uml需要xsl的支持,因为我用的是绿色版的,所以我修改了一下我的php.ini后,继续执行时,仍然提示需要xsl,不是特别明白的时候,我看了一下我的php.ini,确认是加载了。但再次运行又是提示,最后我运行php --ini,才发现,原来命令行下用的php.ini居然是在c:\windows下面,而不是我绿色版中配置的php.ini文件。我把php.ini拷贝到c:\windows下后,程序可以顺利执行,安装完毕php_uml了。
第二件郁闷的事情接踵而至,按照上文的程序方式,我生成了xmi文件,却发现无法打开,怎么办?按照 文件提示下载了那个Altova MapForce
php -d output_buffering=0 PEAR\go-pear.phar
D:\APMServ5.2.6\PHP>php -d output_buffering=0 PEAR\go-pear.phar
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : local
Please confirm local copy by typing 'yes' :
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : D:\APMServ5.2.6\PHP
2. Temporary directory for processing : D:\APMServ5.2.6\PHP\tmp
3. Temporary directory for downloads : D:\APMServ5.2.6\PHP\tmp
4. Binaries directory : D:\APMServ5.2.6\PHP
5. PHP code directory ($php_dir) : D:\APMServ5.2.6\PHP\pear
6. Documentation directory : D:\APMServ5.2.6\PHP\docs
7. Data directory : D:\APMServ5.2.6\PHP\data
8. User-modifiable configuration files directory : D:\APMServ5.2.6\PHP\cfg
9. Public Web Files directory : D:\APMServ5.2.6\PHP\www
10. Tests directory : D:\APMServ5.2.6\PHP\tests
11. Name of configuration file : C:\Windows\pear.ini
12. Path to CLI php.exe : D:\APMServ5.2.6\PHP
1-12, 'all' or Enter to continue:
Beginning install...
Configuration written to C:\Windows\pear.ini...
Initialized registry...
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.2.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.3.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.7.1.tar...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.2.tar...
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
install ok: channel://pear.php.net/Archive_Tar-1.3.2
install ok: channel://pear.php.net/Console_Getopt-1.2.3
install ok: channel://pear.php.net/Structures_Graph-1.0.2
install ok: channel://pear.php.net/PEAR-1.7.1
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
******************************************************************************
WARNING! The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
<D:\APMServ5.2.6\PHP\pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.
Would you like to alter php.ini <D:\APMServ5.2.6\PHP\php.ini>? [Y/n] : y
php.ini <D:\APMServ5.2.6\PHP\php.ini> include_path updated.
Current include path : .;C:\php5\pear
Configured directory : D:\APMServ5.2.6\PHP\pear
Currently used php.ini (guess) : D:\APMServ5.2.6\PHP\php.ini
Press Enter to continue:
** WARNING! Old version found at D:\APMServ5.2.6\PHP, please remove it or be sure to use the new d:\apmserv5.2.6\php\pear.bat command
The 'pear' command is now at your service at d:\apmserv5.2.6\php\pear.bat
* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under D:\APMServ5.2.6\PHP\PEAR_ENV.reg .
This file creates ENV variables for the current user.
Double-click this file to add it to the current user registry.
D:\APMServ5.2.6\PHP>pear install PHP_UML-1.5.2
Warning: Invalid argument supplied for foreach() in PEAR\Downloader.php on line 555
Warning: Invalid argument supplied for foreach() in D:\APMServ5.2.6\PHP\PEAR\PEAR\Downloader.php on line 555
downloading PHP_UML-1.5.2.tgz ...
Starting to download PHP_UML-1.5.2.tgz (503,404 bytes)
..................................
在张宴的默认安装目录: D:\APMServ5.2.6\www\htdocs
建立目录:\laruence ,目录下建立:laruence.php
cmd下:
cd D:\APMServ5.2.6\www\htdocs
运行命令:
D:\APMServ5.2.6\www\htdocs>phpuml laruence/ -o laruence.xmi -n laruence -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
运行结束后,在目录:D:\APMServ5.2.6\www\htdocs
下,你可以看到生成了一个:laruence.xmi 文件,大功告成!!!
随后,你可以按照风雪说的,搞个破解版本的Altova Umodel 2010,我google看有并下载了一个,呵呵,感觉不错。
代码审查查,得再用一次:
先下载:http://pear.php.net/package/PHP_UML 后解压,然后运行时提示如下:
PHP Warning: require_once(PHP/UML.php): failed to open stream: No such file or directory ...
PHP Fatal error: require_once(): Failed opening required 'PHP/UML.php'
原来是找不到文件:
require_once 'Console/CommandLine.php';
require_once 'PHP/UML.php';
这两行的问题,于是解决方法如下:
1)建立PHP目录,把下载的文件放里面。
2)构造PHP的PATH路径,如下:
如果你换一个位置:define("LIB_PATH","/home/jackxiang/PHPUML/"); 目录得换,或者写成相对的。
然后再次执行:
我执行这个Ok生成:
下载后的验证码URL:http://jackxiang.com/post/4627/
使用方法:导入和生成
1.File -》Import From XMI File
2.Project-》Generate Documentation (可选 :生成HTML和Word的Doc文档)
这个哥们的博客也写吧,觉得生成html这块还不错,如下:
URL:http://lifei123.blog.51cto.com/2487662/435638
一般的使用方法是:
phpuml 项目目录 -o 项目名.xmi -n 项目名 -f xmi --pure-object --no-deployment-view --no-component-view --no-docblocks
得到的文件是xmi格式的,需要使用软件进行转换,经过尝试,StarUML可以转(需要注意的是StarUML、ArgoUML只支持PHP_UML的XMI格式1.0,而不支持2.0,因此需要在命令行中加入-x 1.0)。 也可以使用
phpuml 项目目录 -o 项目名.xmi -n 项目名 -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
实例:
/root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php
PHP Warning: chdir(): Not a directory (errno 20) in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 129
PHP Fatal error: Class 'XSLTProcessor' not found in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 133
查询Google,有人为此提交了一个Bug,URL:http://pear.php.net/bugs/bug.php?id=16924&edit=3
最后,提示是没有安装扩展,PHP_UML depends on the PHP module "XSL".dl("php_libxslt.so");
Description:
------------
When I run the cli version I´ll get a Fatal error
Using this command
phpuml /var/www/htdocs/project -f html -o /var/www/UML/
Get this respons
Fatal error: Class 'XSLTProcessor' not found in /usr/local/lib/php/PHP/UML/Output/ExporterXSL.php on line 133
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: baptiste
Hello,
PHP_UML depends on the PHP module "XSL".
It seems that this module is not enabled in your configuration.
To enable it, remove the ";" in the line ";extension=php_xsl.dll" in your php.ini
Linux下安装:
php_libxslt - a simple libxslt PHP/XSL extension
Overview ::
php_libxslt is a very simple PHP extension to transform XML documents using the GNOME XSLT C library. It provides an alternative XSLT engine to the current PHP default XSL extension. It currently seems to work fine (and serves this site since more than 2 years), but there's (as always) room for improvements. There's e.g. no serious error handling implemented yet (any volunteers?).
php_libxslt has been tested using PHP4.1.2/libxslt 1.0.16 on Linux/PowerPC (Debian/woody), PHP4.2.3/libxslt 1.0.16 on Linux/i386 (Debian) and PHP4.3.1 on Linux/i386 (RedHat), test reports (success/failure) especially regarding platforms different from Linux are welcome, contact axelm-php(at)nona.net.
Download ::
Note: The file below is rather small (about 15kB), so the download may be finished within just a few seconds. Note well: Retrying doesn't increase the file's size ;).
Source code: php_libxslt-0.3.0.tar.gz Here: http://nona.net/download/php_libxslt-0.3.0.tar.gz
md5sum: 08e896ccc06c5c79d47e90de646e07c0
Installation ::
Please refer to the file INSTALL in the tarball if you are installing from source, or to the dpkg man page if you are using the Debian packages. For building the Debian packages from the source tarball please refer to INSTALL.Debian.
Usage ::
php_libxslt has a very simple interface (as it provides just one function). A few examples are provided in the "examples" directory of the distribution. Simply transforming XML using an XSL stylesheet is done by calling:
<?
dl("php_libxslt.so");
$transformed = libxslt_transform($xmlstring, $xsltstring);
?>
first argument: XML string to be transformed (no file name, the XML document itself)
second argument: XSL stylesheet string (again, no file name, stylesheet itself required)
return value: Transformation output (if transformation did succeed) or XML input document (if transformation did fail).
Adding XSLT parameters ::
If you want to hand over parameters to your stylesheet, call the function with the (optional) third argument containing the XSL parameters in a hash:
<?
dl("php_libxslt.so");
$xslparam['ExampleParameter'] = "'Example Value'";
$xslparam['OtherParameter'] = "'Another Value'";
$transformed = libxslt_transform($xmlstring,
$xsltstring, $xslparam);
?>
(Be careful regarging quoting of the parameter strings, unquoted parameters will be interpreted by libxslt)
Error handling ::
If, for any reason, the XSL transformation does not succeed, the original XML string is returned. Detailed error messages should show up in your web servers error log.
Questions? Feedback? ::
Feel free to contact me at axelm-php(at)nona.net. Feedback, comments, questions and build/bug reports are welcome.
以上来源:http://nona.net/software/phplibxslt/
<?php
//$xml = new DomDocument;
//$xml->load('test.xml');
$xsl = new DomDocument;
//$xsl->load('test.xsl');
$xslt = new Xsltprocessor;
//$xslt->importStylesheet($xsl);
//$transformation = $xslt->transformToXml($xml);
//echo $transformation;
?>
PHP Fatal error: Class 'Xsltprocessor' not found in /root/software/php_libxslt-0.3.0/test.php on line 8
https://bugs.php.net/bug.php?id=37969&edit=1
如果你在php5中用xslt_create()这个php4中的方法时,将会得到call to undefined function xslt_create()这个error。
reason is : 该扩展已经从 PHP 5 中移出,然后移入到 PECL 仓库中。 php5的ext目录下已经没有php_xslt.dll了,取而代之的是php_xsl.dll。
phpinfo();没有找到。
用下面代码探测:
<?php
if(extension_loaded("xsl")) {
if(class_exists("XSLTProcessor")) {
trigger_error("XSL loaded and ready", E_USER_NOTICE);
}
else {
trigger_error("XSL extension loaded but class could not be found", E_USER_ERROR);
}
}
else {
trigger_error("XSL extension has not been loaded", E_USER_ERROR);
}
root@116.255.139.240:/data0/htdocs/blog# php xsl.php
PHP Fatal error: XSL extension has not been loaded in /data0/htdocs/blog/xsl.php on line 11
果然没有!!!
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
./
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# ./configure
checking for XSL support... yes, shared
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
oot@116.255.139.240:~/software/php-5.3.8/ext/xsl# rpm -qa libxslt
libxslt-1.1.17-2.el5_2.2
whereis xslt-config
然后./configure --help 看看--with-xsl指定他的详细路径。
找到他的位置:
root@116.255.139.240:/# rpm -ql libxslt-1.1.17-2.el5_2.2|grep xslt-config
root@116.255.139.240:/#
在URL:http://www.hackbase.com/tech/2011-09-09/65235.html 找到:
错误二十
configure:error:xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决方法:
#yum install libxslt libxslt-devel
如下:
Running Transaction
Installing : libgpg-error-devel 1/3
Installing : libgcrypt-devel 2/3
Installing : libxslt-devel 3/3
Installed:
libxslt-devel.i386 0:1.1.17-2.el5_2.2
Dependency Installed:
libgcrypt-devel.i386 0:1.4.4-5.el5 libgpg-error-devel.i386 0:1.4-2
Complete!
再编译:
Build complete.
Don't forget to run 'make test'. 通过了,原来就没有安装: libxslt-devel,xslt-config在 libxslt-devel这个包里面,确定如下:
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# rpm -ql libxslt-devel-1.1.17-2.el5_2.2|grep xslt-config
/usr/bin/xslt-config
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# make install
Installing shared extensions: /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
root@116.255.139.240:~/software/php-5.3.8/ext/xsl# ls /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
eaccelerator.so imagick.so memcache.so pdo_mysql.so soap.a soap.so ssh2.so syck.so xdebug.so xsl.so
xsl.so加入PHP.ini中即可。
最后,生成Html就Ok了:
mkdir /tmp/html
chmod -R 777 /tmp/html
php ./phpuml /home/jackxiang/public_html/adc/web_adc_proj/trunk -o /tmp/html -n adcGenOutHtml -f html --pure-object --no-deployment-view --no-component-view --no-docblocks
?root@116.255.139.240:/tmp/html# ls
inherit.gif style.css
php ./phpuml --help
Options:
-o directory Output directory path, or filename
(if not provided, the XMI code is
printed on screen)
-f format, --format=format Output format: "xmi" (default),
"html", "htmlnew", "php"
For html/htmlnew/php, if you want to
provide your own XMI file, pass it as
argument to phpuml
-x XMI version XMI version to generate (1 or 2)
-n name Name of the generated UML model
生成了xmi1.0的,但是用它来给Altova UModel解析,出现错误:
对比:
强行生成xmi1.0的导入:
... finished XMI import - 7 error(s), 1 warning(s)
默认生成的xmi导入:
... finished XMI import - 0 error(s), 7180 warning(s)
PHP Warning: DOMDocument::loadXML(): Entity 'bull' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'deg' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'dagger' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'Dagger' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'plusmn' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'permil' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'trade' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP Warning: DOMDocument::loadXML(): Entity 'micro' not defined in Entity, line: 1665 in /root/software/PHP_UML-1.5.5/PHP/UML/Output/ExporterXSL.php on line 68
PHP生成html结尾的文件实践Ok及感悟:
Use the option -f to specify which format you want phpuml to generate.
$ phpuml /var/www/foo -f html -o /var/tmp/
This will scan /var/www/foo, and create the API documentation in /var/tmp/.
If you need to provide your own XMI file (instead of parsing existing PHP files), simply pass it as argument.
$ phpuml myFile.xmi -f php -o /var/tmp/
This will read the XMI code contained in myFile.xmi, and generate the PHP code templates in /var/tmp/.
下面我是测试Ok的,一个是由xmi转回为PHP文件,第二个是把PHP文件转为Html的类继承图:
还可以忽略某些目录的扫描,扫描规定某后缀文件名,等等,昨天晚上搞了很晚,最后找到文档
唯有文档,只有文档才是最好的参考,什么书啊,博客啊,都是部分,或者有失真,所以贴上其
PHPUML文档的URL:
http://pear.php.net/manual/en/package.php.php-uml.command-line.php
往常调试actionscript,是用的trace,在flash debug player里头输出变量内容。今天看到的方法比较有趣,是利用javascript在firebug中输出as的调试信息。
用firebug调试as的基本原理
PLAIN TEXTCODE:
1.
当然,要使用firebug,前提当然是你使用的firefox浏览器。如果是ie,那么只好使用alert弹出信息。
用firebug调试as的基本原理
PLAIN TEXTCODE:
1.
ExternalInterface.call('console.log', "string is [%s]", "abcde");
利用as的ExternalInterface和js交互,然后调用firebug的console.log,将as的变量输出到控制台,这样也能达到调试的目的。当然,要使用firebug,前提当然是你使用的firefox浏览器。如果是ie,那么只好使用alert弹出信息。
作者:Hily 原始链接:http://hily.me/blog/2010/05/php-memcache-vs-memcached/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
从手册上明显可以看到这两个扩展:
http://php.net/manual/en/book.memcache.php
http://php.net/manual/en/book.memcached.php
在Q群里问了下,没有人能分辨出它们的差别,甚至有人怀疑我说的 Memcached 是 Memcached 服务器(守护进程)。阅读全文
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
从手册上明显可以看到这两个扩展:
http://php.net/manual/en/book.memcache.php
http://php.net/manual/en/book.memcached.php
在Q群里问了下,没有人能分辨出它们的差别,甚至有人怀疑我说的 Memcached 是 Memcached 服务器(守护进程)。阅读全文
做web开发,必然会涉及到Session,这是由于http协议本身是无状态的(每次响应都是独立的,彼此间没有联系),所以如果需要在页面跳转间保持某个用户的身份,就要在每次连接时告诉服务器端你的唯一标示号,即Session ID。这样,服务器端便可通过Session ID得到所需的数据。
阅读全文
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解决办法非常简单:
root@raspberrypi:/etc/apache2# vi apache2.conf
# Include the virtual host configurations:
ServerName localhost:80
Include sites-enabled/
root@raspberrypi:/etc/apache2# service apache2 restart
[ ok ] Restarting web server: apache2 ... waiting ..
#vim /web/apache/conf/httpd.conf (在这里/web/apahce是我安装apache的目录,你默认安装的话应该是/usr/local/apache2/icons)
找到#ServerName www.example.com:80 把#去掉,再重启apache即可没事了。
现象:
這個問題應該是沒有在 /etc/httpd/conf/httpd.conf 中設定 ServerName
最简单的,修改httpd.conf文件,增加:
ServerName www.example.com:80
我的改为:
再次启动就正常了!
------------------------------------------------------------------------------------------------------------------------------------------------------------
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
解决方案:
用记事本打开 httpd.conf
将里面的 #ServerName localhost:80 注释去掉即可。
再执行 httpd
然后可以通过浏览器访问 http://localhost:80 ,如果页面显示 “It works!” ,即表示apache已安装并启动成功。
++++++++++++++++++++++++++++++++++++++++++++
using localhost.localdomain for ServerName 说不能确认服务器完全确认域名 localhost.localdoman 这个问题怎么解决
最佳答案:
vi /etc/httpd/conf/httpd.conf 加入一句 ServerName localhost:80
解决步骤:
为了解决这个问题,你需要编辑下面这个httpd.conf文件,打开它并根据如下操作进行编辑:
[c-sharp] view plaincopy
sudo gedit /etc/apache2/httpd.conf
默认的httpd.conf是个空文件,现在向里面加入如下内容:
[c-sharp] view plaincopy
ServerName localhost
保存并退出。
------------------------------------------------------------------------------------------------------------------------------------------------------------
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 7907) already running
修改:去掉注释即可。
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName www.example.com:8080
解决方案:
进入apache的安装目录:
Windows : D:\Program Files\Apache Software Foundation\Apache2.2\conf
linux : /usr/local/apache/conf
用记事本打开httpd.conf
将里面的#ServerName localhost:80注释去掉即可。
再执行httpd
然后可以通过浏览器访问http://localhost:80,如果页面显示“It works!”,即表示apache已安装并启动成功。
解决办法非常简单:
root@raspberrypi:/etc/apache2# vi apache2.conf
# Include the virtual host configurations:
ServerName localhost:80
Include sites-enabled/
root@raspberrypi:/etc/apache2# service apache2 restart
[ ok ] Restarting web server: apache2 ... waiting ..
#vim /web/apache/conf/httpd.conf (在这里/web/apahce是我安装apache的目录,你默认安装的话应该是/usr/local/apache2/icons)
找到#ServerName www.example.com:80 把#去掉,再重启apache即可没事了。
现象:
bogon:~/webserver/httpd-2.0.59 # /usr/local/apache2/bin/apachectl start
httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
httpd (pid 20183) already running
httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
httpd (pid 20183) already running
這個問題應該是沒有在 /etc/httpd/conf/httpd.conf 中設定 ServerName
vi /usr/local/apache2/conf/httpd.conf
最简单的,修改httpd.conf文件,增加:
ServerName www.example.com:80
我的改为:
ServerName www.example.com:80
再次启动就正常了!
------------------------------------------------------------------------------------------------------------------------------------------------------------
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
解决方案:
用记事本打开 httpd.conf
将里面的 #ServerName localhost:80 注释去掉即可。
再执行 httpd
然后可以通过浏览器访问 http://localhost:80 ,如果页面显示 “It works!” ,即表示apache已安装并启动成功。
++++++++++++++++++++++++++++++++++++++++++++
using localhost.localdomain for ServerName 说不能确认服务器完全确认域名 localhost.localdoman 这个问题怎么解决
最佳答案:
vi /etc/httpd/conf/httpd.conf 加入一句 ServerName localhost:80
解决步骤:
为了解决这个问题,你需要编辑下面这个httpd.conf文件,打开它并根据如下操作进行编辑:
[c-sharp] view plaincopy
sudo gedit /etc/apache2/httpd.conf
默认的httpd.conf是个空文件,现在向里面加入如下内容:
[c-sharp] view plaincopy
ServerName localhost
保存并退出。
------------------------------------------------------------------------------------------------------------------------------------------------------------
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 7907) already running
修改:去掉注释即可。
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName www.example.com:8080
解决方案:
进入apache的安装目录:
Windows : D:\Program Files\Apache Software Foundation\Apache2.2\conf
linux : /usr/local/apache/conf
用记事本打开httpd.conf
将里面的#ServerName localhost:80注释去掉即可。
再执行httpd
然后可以通过浏览器访问http://localhost:80,如果页面显示“It works!”,即表示apache已安装并启动成功。
相信不少的朋友遇到过在VMware中输入一个字母,结果出来一大串字母,也就是大概一排字母的疑惑.
笔者同样也遇到这个VMware下的键盘输入字符难题.
以下提供几种解决方案
1.这个解决方案最有效
如果没有安装VMware Tools的赶紧安装,即可解决.
已经安装的将这个重新安装,也就是选择 reinstall VMware tools.
大多数情况可以解决.
2.更换VMware程序版本.
目前我的版本是官方下载的6.5,然后安装了个汉化补丁.
据Blinux所知很多网友都是下的精简版VMware,功能上可能会有些差异.
建议更新VMware版本,一般可以解决.
3.以下的解决方案实属无奈之举.
开启硬件加速
修改键盘延迟
我的是VMware7.0,安装了suse linux Enterprise10,修改了:keyboard preferences 下的:Repeat keys,speed,到snow那一断,即可!
笔者同样也遇到这个VMware下的键盘输入字符难题.
以下提供几种解决方案
1.这个解决方案最有效
如果没有安装VMware Tools的赶紧安装,即可解决.
已经安装的将这个重新安装,也就是选择 reinstall VMware tools.
大多数情况可以解决.
2.更换VMware程序版本.
目前我的版本是官方下载的6.5,然后安装了个汉化补丁.
据Blinux所知很多网友都是下的精简版VMware,功能上可能会有些差异.
建议更新VMware版本,一般可以解决.
3.以下的解决方案实属无奈之举.
开启硬件加速
修改键盘延迟
我的是VMware7.0,安装了suse linux Enterprise10,修改了:keyboard preferences 下的:Repeat keys,speed,到snow那一断,即可!
如果用“千呼万唤始出来,犹抱琵琶半遮面”这一句古诗来形容Fedora13,应该说再合适不过了。5月25日,在经过一周的延期之后,Fedora 13终于正式发布了。这次的版本,相对于以前的版本做了很多更新,最主要的是它不仅仅只是专业人士的工具,它吸取了Ubuntu的经验,逐渐迎合非专业人士的需求。用Fedora Project Leader Paul W.Frields自己的话说:“Fedora 13将与以往不同,这次的版本对用户来讲会更新更友好!Fedora不再仅仅适合于有经验的Linux用户。”
更多内容:http://www.linuxidc.com/Linux/2010-05/26404.htm
更多内容:http://www.linuxidc.com/Linux/2010-05/26404.htm
首选参数--》复制/粘贴 修改为:仅仅文本!ps:一般我用来写两行js,所以,不要带格式。带格式容易出现一些字符导致DW复制粘贴出现无法复制,粘贴的问题。
解决后,估计可以修改回去,估计就好了!
解决后,估计可以修改回去,估计就好了!
最近经常被问到创业最难在什么地方? 我的体会是在早期员工的招聘.
今天读到一则新闻, 美国的一家创业公司宣布失败, 他们的CEO发了一篇博文, 详述了失败的原因, 其中一条就是当时他们招聘的时候, 为了快速招到人赶开发计划, 而忽视了人的质量.
中国和硅谷更不同. 在硅谷, 最优秀的人才一般会选择去创业公司, 因为工作有激情, 有梦想, 发财的机会更大些. 在北京, 更多的优秀人才愿意去Google, IBM, MSFT, 因为更受人尊重, 更能得到父母的认同. 当然这和我国很多小公司太不靠谱有关系.
前些日子, 我所在的互联网CEO俱乐部的开会中,有位已经挺有名气的公司的CEO问大家如何招人的, 有的CEO说猎头, 有的说没什么妙方, 有的说, 招人占用了70%的工作时间, 有的甚至说, 招人本身就是CEO的最主要的工作. 相比这些互联网公司, 我们乐啊规模比他们小很多很多, 毕竟他们在各自的领域都是领头羊.
在过去的几个月, 在乐啊的招聘过程中, 我也有很多感触, 我的做法为,
第一, 招聘比自己优秀的员工, 聘用A类员工, 因为随着公司的成长, 这些早期员工会决定聘用新员工, A类员工会雇佣A类员工, 而B类员工会雇佣B甚至C类员工, 员工质量会逐渐下降;
第二, 由于创业早期资源较少, 经常要尝试新的项目, 调整方向, 所以适合创业的员工应该有能力快速学习新的技术, 并乐于根据公司需要在任何岗位都可以很优秀的工作;
第三, 有毅力, 不娇躁, 创业过程中有很多困难, 需要最艰难的时候能沉住气.
第四, 要全才, 因为创业公司没有前台工程师, 后台工程师, 数据库工程师, 运营网络工程师, 在创业公司, 工程师需要都会一些. 这一点在国内的创业公司尤其是一个问题, 因为国内的人才相对比较便宜, 所以很多创业公司在早期就雇佣了很多员工, 在每个功能方面都有专业工程师, 这样的问题是沟通成本很高, 由于每个人的工作量不大, 造成人多事情少, 斗志不高;
第五, 不盲信技术. 在创业公司, 最重要的是看结果, 不需要无休止争论是java好还是PHP好, 因为早期开发的东西, 很可能不是用户想要的, 即使是用户需要, 在后期, 也很有可能大变化, 需要重新写过.
第六, 因为早期创业公司所有同事都挤在一个小屋, 所以团队精神很重要, 毕竟你看旁边同事的时间肯定会超过你看你女朋友的时间.
如何找到这些工程师呢? 我没有好的办法, 只有花时间, 以前合作过的, 从兼职开始做起等等. 所幸的是目前我们的同事大家相处非常满意.
来源:http://blog.looa.com/2010/02/09/%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8%E5%91%98%E5%B7%A5%E7%9A%84%E6%8B%9B%E8%81%98/
今天读到一则新闻, 美国的一家创业公司宣布失败, 他们的CEO发了一篇博文, 详述了失败的原因, 其中一条就是当时他们招聘的时候, 为了快速招到人赶开发计划, 而忽视了人的质量.
中国和硅谷更不同. 在硅谷, 最优秀的人才一般会选择去创业公司, 因为工作有激情, 有梦想, 发财的机会更大些. 在北京, 更多的优秀人才愿意去Google, IBM, MSFT, 因为更受人尊重, 更能得到父母的认同. 当然这和我国很多小公司太不靠谱有关系.
前些日子, 我所在的互联网CEO俱乐部的开会中,有位已经挺有名气的公司的CEO问大家如何招人的, 有的CEO说猎头, 有的说没什么妙方, 有的说, 招人占用了70%的工作时间, 有的甚至说, 招人本身就是CEO的最主要的工作. 相比这些互联网公司, 我们乐啊规模比他们小很多很多, 毕竟他们在各自的领域都是领头羊.
在过去的几个月, 在乐啊的招聘过程中, 我也有很多感触, 我的做法为,
第一, 招聘比自己优秀的员工, 聘用A类员工, 因为随着公司的成长, 这些早期员工会决定聘用新员工, A类员工会雇佣A类员工, 而B类员工会雇佣B甚至C类员工, 员工质量会逐渐下降;
第二, 由于创业早期资源较少, 经常要尝试新的项目, 调整方向, 所以适合创业的员工应该有能力快速学习新的技术, 并乐于根据公司需要在任何岗位都可以很优秀的工作;
第三, 有毅力, 不娇躁, 创业过程中有很多困难, 需要最艰难的时候能沉住气.
第四, 要全才, 因为创业公司没有前台工程师, 后台工程师, 数据库工程师, 运营网络工程师, 在创业公司, 工程师需要都会一些. 这一点在国内的创业公司尤其是一个问题, 因为国内的人才相对比较便宜, 所以很多创业公司在早期就雇佣了很多员工, 在每个功能方面都有专业工程师, 这样的问题是沟通成本很高, 由于每个人的工作量不大, 造成人多事情少, 斗志不高;
第五, 不盲信技术. 在创业公司, 最重要的是看结果, 不需要无休止争论是java好还是PHP好, 因为早期开发的东西, 很可能不是用户想要的, 即使是用户需要, 在后期, 也很有可能大变化, 需要重新写过.
第六, 因为早期创业公司所有同事都挤在一个小屋, 所以团队精神很重要, 毕竟你看旁边同事的时间肯定会超过你看你女朋友的时间.
如何找到这些工程师呢? 我没有好的办法, 只有花时间, 以前合作过的, 从兼职开始做起等等. 所幸的是目前我们的同事大家相处非常满意.
来源:http://blog.looa.com/2010/02/09/%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8%E5%91%98%E5%B7%A5%E7%9A%84%E6%8B%9B%E8%81%98/
Google 最近提供了 SSL(HTTPS) 搜索功能(https://www.google.com),可以保护用户的搜索关键字和搜索结果不被ISP等第三方机构拦截、窃取,不被墙连接重置。
国内用户访问 https://www.google.com 默认情况下会跳转到谷歌香港 http://www.google.com.hk,解决方法为先点击“Google.com in English“访问 http://www.google.com/ncr (仅需要点击一次),该网址会种一个Cookie,防止跳转,再设置搜索语言为中文,再输入 https://www.google.com 即可,比较麻烦。
本人将这一复杂的流程简化为一个域名:ggssl.com,只需要访问:http://ggssl.com,即可利用脚本快速跳转到 Google SSL 加密搜索中文版。第一次访问自动设置并跳转,以后访问立即自动跳转。
Google SSL 搜索快速跳转域名:http://ggssl.com
国内用户访问 https://www.google.com 默认情况下会跳转到谷歌香港 http://www.google.com.hk,解决方法为先点击“Google.com in English“访问 http://www.google.com/ncr (仅需要点击一次),该网址会种一个Cookie,防止跳转,再设置搜索语言为中文,再输入 https://www.google.com 即可,比较麻烦。
本人将这一复杂的流程简化为一个域名:ggssl.com,只需要访问:http://ggssl.com,即可利用脚本快速跳转到 Google SSL 加密搜索中文版。第一次访问自动设置并跳转,以后访问立即自动跳转。
Google SSL 搜索快速跳转域名:http://ggssl.com
在 64位版本的 CentOS 5.4 上使用 yum 安装软件包的时候如果不小心的话会同时安装 i386 和 x86_64 版本的软件
同时安装32位和64位版本的软件虽然不是什么错,也不会对系统造成什么问题,但是这样会浪费硬盘空间,而且显得系统臃肿、不干净。如果想要保持一个纯的64位系统、在64位 CentOS 上避免安装32位软件包的话很容易,只需要在 yum.conf 加上一行过滤掉 i386, i686 的软件包就可以了:
来源:http://www.21andy.com/blog/20100223/1710.html
同时安装32位和64位版本的软件虽然不是什么错,也不会对系统造成什么问题,但是这样会浪费硬盘空间,而且显得系统臃肿、不干净。如果想要保持一个纯的64位系统、在64位 CentOS 上避免安装32位软件包的话很容易,只需要在 yum.conf 加上一行过滤掉 i386, i686 的软件包就可以了:
# vi /etc/yum.conf
[main]
...
exclude=*.i386 *.i686
[main]
...
exclude=*.i386 *.i686
来源:http://www.21andy.com/blog/20100223/1710.html
<!--#include file="header.stml" -->
建网站有好多时候在每一个网页都要使用同一的重复的地方!
如每页的导航条、版权信息等!
这些修改时都是要统一修改的…而如果照每页每页的修改的话简直是...
而这些在asp 以及cgi php等中可以使用include、require 等之类的调用。
而绝大多数不支持程序的HTML静态空间或者大家不会编程的怎么办……
呵现在就告诉大家一条在html网页中也可以实用文件调用的超级简短代码…
<!--webbot bot="Include" U-Include="../文件名.htm" TAG="BODY" -->
呵…快适用到你的网页中吧!!让你的网站建起来更快更容易!!
而且而且这条代码可以远程调用噢!!!即如
http://www.id-cc.com之类的调用耶!!!
很多网站采用Shtml页面include外部文件
EG:
index.shtml页面代码
<!--#include file="top.htm"-->
top.htm页面代码
<div style="background:#FF0000;"><h1>静态页面也可以包含文件</h1></div>