本文目录一览:
- php命令行工具检测php文件语法格式是否正确的方法是
- Atom编辑器如何自动检查PHP的语法错误
- [sumlime text 2 怎么自动检查php语法错误](#sumlime text 2 怎么自动检查php语法错误)
- php出现500错误,求你帮帮我.
- sumblie用什么插件检测php,html中的标点,语法错误
- PHP如何扩展和如何在linux底层对php扩展
php命令行工具检测php文件语法格式是否正确的方法是
使用PHP命令行,如果你是Windows下,需要先设置环境变量
- 右键我的电脑-属性-高级设置
- 点高级-环境变量
- 设置系统变量
查看是否有Path的变量存在,如果有则在原有内容的后面加一个
;
并把你的php.exe
的所在完整路径写入,不需要带php.exe
。如果不存在,点击新建,变量名写Path
值写你的php.exe
所在路径。 设置完毕后点击确认。 - 检查是否设置正确
点击开始-运行(快捷键为:Win+R),填入
cmd
然后回车,在CMD窗口写php -v
。如果弹出版本信息则为设置成功。 - 开始写你的PHP程序 例子(test.php):
?php
echo "hello word";
?
- 运行你的PHP程序 将路径切到你的PHP所在路径,执行命令:
php -l test.php
php -l
为语法检验工具,不过如一些变量不存在的问题,它是不会告诉你的。
接下来,我们运行一次PHP文件:
php test.php
可以看出没有任何问题。 写一个变量不存在的例子:
?php
echo "hello word".$a;
?
按照上面步骤再来一次。 可以看到,语法并没有报错,但运行报错了。 根据提示,我们将错误的代码修改正确即可:
?php
$a=1;
echo "hello word".$a;
?
Atom编辑器如何自动检查PHP的语法错误
linter-php插件
安装这3个:linter
、linter-ui-default
、linter-php
安装之后,在linter-php
插件设置里指定你的php.exe
文件位置。
在你语法出错的时候,前面会有一个红点。
sumlime text 2 怎么自动检查php语法错误
sumlime text 2要实现自动检查php语法错误需要安装 Sublimelinter
和 Sublimelinter-php
两个插件。
- 配置SublimeLinter
打开
SublimeLinter
的配置文件:Preferences -> Package Settings -> SublimeLinter -> Settings - User
,进行如下配置:
- 运行模式:
"sublimelinter": "save-only"
SublimeLinter
的运行模式,总共有四种,含义分别如下:
true
- 在用户输入时在后台进行即时校验;false
- 只有在初始化的时候才进行校验;"load-save"
- 当文件加载和保存的时候进行校验;"save-only"
- 当文件被保存的时候进行校验; 推荐设置为"save-only"
,这样只在编写完代码,保存的时候才校验,Sublime Text 运行会更加流畅。- 校验引擎:
"sublimelinter_executable_map": {
"php": "C:\\xampp\\php\\php.exe" // Windows下要使用\\
}
- 检查方法:
php出现500错误,求你帮帮我.
是php和mysql连接有问题,解决的方法:
“phpMyAdmin - 错误.无法载入 mysql 扩展” 解决办法
对于php.ini
文件,首先进入php5安装目录,假设安装目录为C:\PHP5
,将 php.ini-dist
复制一份放到 C:\WINNT
(Windows XP/2003 下为 C:\Windows
)内,改名为 php.ini
,然后用记事本打开,利用记事本的查找功能搜索 extension_dir = "./"
,并将其路径指到你的 PHP 目录下的 extensions
目录,比如:extension_dir = "C:\PHP5\ext"
;再搜索 register_globals = Off
,将 Off
改成 On
。
查找:
;extension=php_mysql.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
将前面的分号 ;
去掉。
然后把 C:\PHP5\libmysql.dll
、C:\PHP5\ext\php_mysql.dll
、C:\PHP5\ext\php_mysqli.dll
拷贝到 C:\Windows\system32
下,这样PHP5才能支持MYSQL。
BBB:“无法载入mcrypt扩展,请检查PHP配置”解决办法
- 没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动。
- 在系统的
system32
(C:\windows\system32
)目录下缺少libmcrypt.dll
文件,解决方法是找到php目录下的libmcrypt.dll
,并将其复制到C:\windows\system32
目录中,然后重新启动Web服务。 - 在PHP目录下的
php.ini
文件中,没有将;extension=php_mcrypt.dll
中的前面一个;
去掉,所以不能使用相应功能,解决方法是打开php.ini
文件,找到;extension=php_mcrypt.dll
改成extension=php_mcrypt.dll
(去掉前面的;
使之生效)。
sumblie用什么插件检测php,html中的标点,语法错误
你说的调试是指什么意思,单步调试么?需要 sublimetextxdebug
插件支持。SublimeLinter
可以显示语法错误。
PHP如何扩展和如何在linux底层对php扩展
#include stdio.h
#include sys/types.h
#include sys/socket.h
#include stdlib.h
#include errno.h
#include dlfcn.h
// 定义我们自己的connect函数
int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) {
static int (*connect_linuxc)(int, const struct sockaddr*, socklen_t) = NULL;
unsigned char *ip_char;
// 利用 dlsym 的 RTLD_NEXT 选项绕过 LD_PRELOAD 环境变量的 connect 方法找到 c 库的函数
if (!connect_linuxc)
connect_linuxc = dlsym(RTLD_NEXT, "connect");
ip_char = serv_addr->sa_data;
ip_char += 2;
// 192.168.2.3 找到了
if ((*ip_char == 192) && (*(ip_char + 1) == 168) && (*(ip_char + 2) == 2) && (*(ip_char + 3) == 3)) {
// 简单返回一个权限错误的代码
return EACCES;
}
// 调用真正的 connect 方法
return connect_linuxc(sockfd, serv_addr, addrlen);
}
编译成so文件:
$ gcc -o lp_demo.so -shared lp_demo.c -ldl
测试文件 test.php
:
?php
file_get_contents("");
?
使用方法:
LD_PRELOAD=lp_demo.so php test.php
这样它将不可能访问到 192.168.2.3
这种我们内部的网址,起到一个很好的沙盒作用。
除此之外我们还可以利用 fwrite
、fopen
等函数将 PHP 对文件系统的读写操作转移到 Memcache、NoSQL 之类的后端资源当中。
最后,即使我们已经深入了 C 库的内部,也不意味着我们走到了最底层,在 C 库下面,还有一堆 sys_
开头的函数,他们才是内核空间里的真正函数,在此就不在探讨了。