`

php 作为shell 脚本语言解释器

阅读更多

1. php 不作为apache的模块, 成为shell 脚本语言解释器. php 官方说是cgi 方式.  Ubuntu 里叫 php5-cli

 

apt-get install php5-cli 就有一个 , 放在/usr/bin/php

 

root@gzlinux:~# /usr/bin/php -v
PHP 5.2.4-2ubuntu5 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb 27 2008 20:43:54)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

支持的方法比较多, 可惜没有mysql . 官方说, mysql 版本太多, 你还是自己编一个吧.

 

root@gzlinux:~# ldd /usr/bin/php
        linux-gate.so.1 =>  (0xb7fe1000)
        libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7fa4000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7f8f000)
        libedit.so.2 => /usr/lib/libedit.so.2 (0xb7f72000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f42000)
        libpanel.so.5 => /usr/lib/libpanel.so.5 (0xb7f3f000)
        libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7efd000)
        libdb-4.6.so => /usr/lib/libdb-4.6.so (0xb7dd6000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dbe000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0xb7dad000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7d86000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7d73000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d4e000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d4a000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7d32000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7d08000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7c7b000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7c58000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7c55000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7b36000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb79e7000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb78a4000)
        /lib/ld-linux.so.2 (0xb7fe2000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb789c000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7899000)

 

2. 自己从http://www.php.net 下一个源代码,

./configure --with-mysql=/usr/lib

 

当然, 你先要有libmysqlclient-dev. 你编一个就可以了:

 

root@gzlinux:~# ldd /usr/local/bin/php
        linux-gate.so.1 =>  (0xb7fb9000)
        libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7f7c000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7f73000)
        libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb7d92000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7d7a000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7d65000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7d52000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d2d000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d29000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7d10000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7bf1000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7aa2000)
        /lib/ld-linux.so.2 (0xb7fba000)

 

功能少了点, 够用就行, 有mysql支持就可以了.

 

shell>php -f xxx.php

 

 

分享到:
评论

相关推荐

    使用shell调用php脚本

    /usr/bin/php`(指定解释器路径),那么可以直接运行`./script.php`。 2. **使用php命令**:更常见的方式是通过`php`命令来运行脚本,如`php script.php`。这种方式不需要脚本具有可执行权限,但需要确保`php`命令...

    Shell脚本编程100例

    /bin/bash`是Shebang行,指定了解释器。`echo`命令用于打印文本到标准输出。 2. **位置变量**:在Shell脚本中,`$1`、`$2`等是位置参数,分别代表脚本运行时传递的第1个、第2个参数。这里使用它们创建新用户并设置...

    ShellEd(shell脚本编辑器)

    3. **调试支持**:作为一个专业的shell脚本编辑器,ShellEd集成了调试工具,允许用户设置断点、单步执行、查看变量值等,方便定位和解决问题。 4. **模板与宏**:ShellEd包含了预定义的shell脚本模板,可以快速创建...

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    shell编程跟Java、PHP 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执 行的脚本解释器就可以了。 为什么要学习和使用shell? Shell属于内置的脚本 程序开发的效率非常高,依赖于功能强大的命令可以...

    shell脚本100例(最新版).pdf

    /bin/bash`是Shebang,用于指定解释器。这个脚本只有一条命令`echo "hello world"`,用于在终端打印出字符串。 2. **创建系统账户及密码** 的脚本利用了位置参数 `$1` 和 `$2`,它们分别代表执行脚本时传递的前两个...

    shell脚本编程100例

    /bin/bash开头,这是一个“shebang”行,它告诉系统这个脚本应该用哪个解释器来执行。"echo"命令用于输出信息,例如输出"hello world"。 #### 2. 位置参数 位置参数在Shell脚本中用于传递参数,如"$1"代表第一个...

    Linux的shell脚本

    加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:name="1511A" echo "beicai$name 班" 4. 只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 5. 删除变量 使用 unset...

    shell脚本100例.docx

    Shell脚本是Linux/Unix系统中的程序设计语言,它提供了与操作系统进行交互的方式,用于自动化重复性任务。这里我们分享的是一份集大成的Shell脚本实例合集,涵盖了许多实用技巧,非常适合学习和日常使用。以下是部分...

    shell脚本编程1

    在编写Shell脚本时,应遵循一定的规范,如指定脚本解释器、添加版本信息、使用合适的缩进和空格,以及使用.sh作为文件扩展名。变量命名应由字母、数字或下划线组成。 了解这些基础知识后,你就能开始编写简单的...

    shell脚本初学基础

    Shell脚本类似于JavaScript和PHP,只需要文本编辑器编写代码,并通过脚本解释器执行。 Linux系统中有多种Shell,例如Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash,最常用)、C Shell(/...

    工作常用的100个Shell脚本文件

    /bin/bash`是Shebang,指定解释器为bash,然后通过`echo`命令输出文本。 2. **创建用户与设置密码**:这里使用位置参数 `$1` 和 `$2` 来接收脚本运行时传递的用户名和密码,通过`passwd --stdin`命令设置新用户及其...

    shell脚本的介绍与教学

    - **解释型语言**:如Shell脚本,其特点是无需编译过程,可以直接由解释器执行。 - **编译型语言**:如C/C++,这类语言需要先通过编译器转换为机器代码才能运行。 - **面向过程**:关注的是如何通过一系列步骤来解决...

    Shell 脚本 100 例

    Shell脚本是Linux/Unix系统中用于自动化任务的编程语言,它允许用户通过命令行界面执行一系列命令。这里我们分析并扩展几个基本的Shell脚本示例,以便深入理解其核心概念。 1. **Hello World** 脚本是最基础的示例...

    shell脚本100例

    /bin/bash`开头,这一行称为shebang,用于指定脚本解释器。 - 如何编写简单的“Hello World”脚本,使用`echo`命令输出字符串到控制台。 2. **处理位置变量**: - 使用位置变量`$1`和`$2`表示脚本执行时传递的第...

    Bash 脚本编程基础,shell 脚本学习

    - **定义**:Shell 是一种命令行解释器,同时也是 Linux 和 Unix 操作系统的用户界面。它接收用户的输入,并将这些命令传递给操作系统进行处理。 - **语言分类**: - **编译型语言**:例如 C、C++ 和 Go。这类语言...

    shell脚本100例.pdf

    /bin/bash,这称为shebang行,指定了脚本解释器的路径。例如: ```bash #!/bin/bash echo "helloworld" ``` 这段脚本会在终端打印出"helloworld"。 2. **变量使用**:在Shell脚本中,变量不需要声明类型,直接...

    Shell-脚本常用命令-文档.doc

    shell编程跟Java、PHP 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执 行的脚本解释器就可以了。 为什么要学习和使用shell? Shell属于内置的脚本 程序开发的效率非常高,依赖于功能强大的命令可以迅速...

    Shell脚本编程30分钟入门(小结)

    被当成是一种脚本语言来设计,其运作方式与直译语言相当,由Unix shell扮演命令行解释器的角色,在读取shell脚本之后,依序运行其中的shell命令,之后输出结果。利用shell脚本可以进行系统管理,文件操作等。 示例 ...

    shell入门到进阶,脚本机动化

    - 在shell脚本中可以直接嵌入Python或其他语言的代码片段,并指定相应的解释器执行。 - 使用`语法结构来包含多行命令或代码块。 通过以上内容可以看出,shell脚本作为一种强大的工具,在自动化运维领域有着广泛的...

Global site tag (gtag.js) - Google Analytics