标签归档:php

nginx: [error] open() “/usr/local/var/run/nginx.pid” faile

换了电脑,环境配置就是件及其蛋疼的事情,特别是MAC。周一才把运行搞起来,今天莫名其妙的运行PHP的Nginx起不来了。一直报错:

[shell]nginx: [error] open() "/usr/local/var/run/nginx.pid" faile。[/shell]

google 百度二不得解。先挂着,然后再找解决方案,我使用的是brew install nginx进行安装,现在卸载也是蛋疼。

折腾了很久之后,尝试直接修改权限:

[shell]
sudo chmod 777 /usr/local/var/run/
sudo nginx
#sudo nginx -s reload
[/shell]

搞定!

WIN8.1+IIS8+PHPstorm+Xdebug搭建PHP开发环境

准备资源:

Webmatrix:http://www.microsoft.com/Web/webmatrix/php.aspx
PHPManager:http://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7
PHP: http://windows.php.net/download
XDebug:http://xdebug.org/
PHPStrom:http://www.jetbrains.com/phpstorm/
Xdebug Helper: http://www.chromein.com/crx_11294.html

运行环境:
操作系统:Win8.1
IIS版本:8.0
Webmatrix:3.0
PHPSTORM版本 : 9.0
PHP版本 : 5.6.11
xdebug版本:php_xdebug-2.3.3-5.6-vc11-x86_64.dll

ps : php版本和xdebug版本一定要相对应
环境搭建:
1、PHP运行环境搭建:
以前搭建PHP环境都需要很长时间,折腾很多次以后,现在发现Webmatrix用起来很不错,貌似缺点就是只能在安装的时候选择需要的环境,比如需要的PHP版本,直接搜索安装。
在使用Webmatrix之前需要确保你已经安装好了IIS。这个很重要,因为接下来都要用IIS作为web服务。安装完成以后,你就可以在IIS中找到PHP Manager。
在IIS中新建一个站点,先把其他的站点停了吧,因为我想用80端口,当然你也可以选择使用其他端口。操作界面如下:phpmanager

如果Webmatrix中没有找到PHP5.6那么你需要自己下载然后解压到自己的目录,需要注意PHP是否是线程安全的版本。这个需要和xdebug对应。我使用它默认的路径C:\Program Files (x86)\iis express\PHP\。
通过Register new PHP version选择路径添加php-cgi.exe。
通过Check version查看PHP的信息,这个信息接下来会用到,把PHP的相关信息粘贴到http://xdebug.org/wizard.php中,提交分析它会给出你适合的Xdebug和配置信息。
PS:感觉PHP需要的相关配置都可以在PHP Extensions里面进行配置,但是我没操作过,还是按照老路子先做吧,有时间在研究一下。

2. PHP安装xdebug扩展
php.ini的配置,下面的配置仅供参考,路径要换成自己的!

[shell][ExtensionList]
extension_dir="C:\Program Files (x86)\iis express\PHP\v5.6.11\ext\"
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll

[Xdebug]
zend_extension = \php_xdebug-2.3.3-5.6-vc11-x86_64.dll
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"[/shell]

ps : remote_handler 、remote_host、remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~

通过cmd中执行:

[shell]php -m[/shell]

可以查看是否把xdebug安装成功,如果安装成功可以在[Zend Modules]下面看到xdebug。
3、PHPStorm配置:
首先设置PHP版本信息:File–》Settings–》PHP—》Interperter 点击+ 进行PHP新版本的添加。
其次设置Servers:name自定义,host你可以自定义,但是都需要要和前面的xdebug.remote_host配置一致。至于端口号,我刚才默认用的80,如果你刚才自定义了请保持一直;
最后设置Xdebug的调试端口:在左侧选择PHP,右边查看Xdebug选项,设置debug port:与xdebug.remote_port保持一致。
xdebug

chrome可以通过chrome://extensions/ 获取更多扩展程序找到:Xdebug helper。设置options:IDE Key与xdebug.idekey一致选择PhpStorm,
域名设置:我使用localhost,如果用www.yneit.com那么就把这个直接加进去,这样调试时才会显示这个插件。xdebug1

开始干活:

1、开始调试
PHPSTORM中:Tools –>Starting Listening for PHP Debug connections(电话图标)–>Debugxdebug2

2、浏览器配合
启动Debug后浏览器输入框就会有一个小虫子,点击可以选择开始Debug。

xdebug3到此开发环境安装完成,如果有问题欢迎交流。有个一键安装的工具easyPHP,还没有用过。Xdebug的配置花费了很多时间,比如Xdebug加载失败的问题,Xdebug安装失败的问题,通过Xdebug网站的推荐就比较方便解决了,只是当时一直没注意这个页面。暂时先这样

Discuz X伪静态设置

[shell]#
# The default server
#
server {
listen 80;
server_name _;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /data/upload;
index index.php index.html index.htm;
# example
#ModSecurityEnabled on;
#ModSecurityConfig /etc/nginx/modsecurity.conf;

rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
return 404;
}

}

error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /data/upload;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
#location ~ /\.ht {
# deny all;
#}
}[/shell]

win8、win8.1通过Microsoft WebMatrix安装wordpress

记得之前用windows server 2003、windows server 2008版本的时候要自己动手以IIS做web服务是比较繁琐的一件事,当然你要给我用什么一键安装包,那就另说了,本人不太喜欢那种方式所以只能自己操作,一个个来。PHP、MySql、phpAdmin一个个独立弄好,然后拷贝dll文件,设置IIS。但是到了win8、win8.1没有没有那么多复杂的操作了。
好吧下面来看一下操作流程。

首先需要确保已经安装了Microsoft WebMatrix。如果没有安装可以启动IIS中的Web管理平台安装程序进行安装。安装完成之后一切将会变得非常简单。
1、打开Microsoft WebMatrix,选择新建;
2、选择应用程序、搜索wordpress,设置网站名称、下一步;
3、安装开始等待读条,进入配置;
4、配置结果输出,程序安装完成。