文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>浅析ubuntu上安装php步骤

浅析ubuntu上安装php步骤

时间:2010-03-27  来源:gliethttp

浅析ubuntu上安装php步骤

参考:http://xz.netsh.com/bbs/780377/html/table_32550481.html

luther@gliethttp:~$ sudo apt-get install libapache2-mod-php5 php5 php5-dev php5-mysql php5-gd
luther@gliethttp:~$ sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.raw
luther@gliethttp:~$ sudo vim /etc/php5/apache2/php.ini
safe_mode = On
open_basedir = /var/www/
allow_url_fopen = Off
register_globals = Off
disable_functions = phpinfo,get_cfg_var
; 设置下面的php扩展
; 让Mysql这个so扩展模块,在php5被加载时,也同时被动态加载到php5内核,类似linux内核的insmod hello.ko,这样就不用重新编译php5内核,也不用dl("hello.so"),就可以直接使用hello.so中的扩展函数了,很强大的一个功能,但是该功能不太适合调试,适合在release中使用,因为每次修改hello.so中代码的话,都需要让service apache restart重启才能让php5内核再次加载新的hello.so扩展,为此我们可以enable_dl = On;同时safe_mode = Off;然后在代码中显视加载so,比如:dl("hello.so");
extension=msql.so
extension=gd.so
;禁止使用dl()函数强行加载so扩展模块
enable_dl = Off

==============================
比如我们自己写了一个php扩展hello.so,添加了一 个扩展函数hello_add(int a, int b);进行a+b操作

luther@gliethttp:~$ sudo vim /etc/php5/apache2/php.ini
enable_dl = Off
extension=hello.so
luther@gliethttp:~$ sudo service apache2 restart 不能reload而必须restart apache,这样so就像insmod hello.ko一样被融到了php5内核,然后代码就可以忽略掉dl("hello.so");了,代码如下:

<?php

    # dl("hello.so");
    echo hello_add(3, 4);
?>

,但是该功能不太适合调试,因为每次修改hello.so中代码的话,都需要让service apache restart重启才能让php5内核再次加载新的hello.so扩展.

php扩展实现了
Browser网页浏览端和Server服务端apache之间没有了远端和本地之分,Browser可以直接执行
Server服务端的任何php扩展出来的so实现的函数,包括so扩展中实现的删除Server端的本地文件和打开/dev/下面的设备,
当然对php扩展so的调用都是由apache完成的,所以操作用户都是www-data,
因此不论删除apache端的文件还是打开
apache端的/dev/设备都要使用户www-data具有相应操作权限[luther.gliethttp]

==============================


luther@gliethttp:~$ ll /usr/lib/php5/20060613+lfs
total 372K
-rw-r--r-- 1 root root  84K 2010-01-07 06:49 pdo.so
-rw-r--r-- 1 root root  26K 2010-01-07 06:49 pdo_mysql.so
-rw-r--r-- 1 root root  44K 2010-01-07 06:49 mysql.so
-rw-r--r-- 1 root root 100K 2010-01-07 06:49 mysqli.so
-rw-r--r-- 1 root root 103K 2010-01-07 06:49 gd.so
-rwxr-xr-x 1 root root  25K 2010-03-28 12:43 hello.so

luther@gliethttp:~$ sudo vim /etc/apache2/mods-enabled/php5.conf
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>
luther@gliethttp:~$ sudo service apache2 restart

luther@gliethttp:~$ sudo vim /var/www/test.php
<?php
echo "字符串转变为数字";
echo "<hr color=red>";
$str="123";
echo "转换前的类型为:".gettype($str);
echo "<br>";
$str=intval($str);
echo "转换后的类型为:".gettype($str);
echo "<br>";
echo "<hr color=red>";
echo "数字转变为字符串";
echo "<br>";
$str1=123;
echo "转换前的类型为:".gettype($str1);
echo "<br>";
$str1=strval($str1);
echo "转换后的类型为:".gettype($str1);
?>
luther@gliethttp:~$ firefox http://localhost/test.php

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载