标签归档:PHP

win10下配置NGINX+PHP+MYSQL

想在本地电脑配置一下PHP+MYSQL环境,在网上找了一些资料,大多数已经有点过时了,不一定能正常使用。记录一下自己的配置过程。

1.PHP

 1.1官方下载地址:

https://windows.php.net/download/

建议选择no-thread-safe版本,解压到D盘,得到路径,如:D:\php

 1.2配置

将php.ini-prodution重命名为php.ini(记得备份,以便有问题的时候还原),打开
查找 extension_dir,将;extension_dir = "ext"改为extension_dir = "D:\php\ext"
查找 cgi.fix_pathinfo,将;cgi.fix_pathinfo=1改为cgi.fix_pathinfo=1,也就是去掉前面的分号
查找 ;date.timezone = ,先去前面的分号再改为 date.timezone = Asia/Shanghai
查找 enable_dl = Off 改为 enable_dl = On
查找 ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
查找 ;fastcgi.impersonate = 1 去掉前面的分号
查找 ;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
接下来启用扩展
查找extension,根据自身需要启用相关扩展,要使用mysql,必须启用extension=mysqli或者extension=pdo_mysql(去掉前面的分号就是启用)。
常用的还有bz2,curl,fileinfo,sockets等,没有启用的话运行一些PHP程序会出现相关错误提示。

2.NGINX

官方下载地址:http://nginx.org/en/download.html

建议下载stable version

解压到D盘,得到路径,如:D:\nginx

打开D:\nginx\conf\nginx.conf (NGINX的配置文件)

找到location /,并按注释说明作相应修改:

location / {
    root   html;#这是默认网站目录,可以修改为E:\wwwroot,就是将网站根目录改到E盘的wwwroot文件夹
    index  index.html index.htm; #默认索引首页,加入index.php default.php
}

完成后代码:

location / {
    root   E:\wwwroot;
    index  index.html index.htm default.html default.htm index.php default.php;
}

查找location ~ \.php$,去掉整段代码前面的注释号:#,将相应内容修改为:

location ~ \.php$ {
    root           E:\wwwroot;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

保存。

3.mysql

最新版,MySQL Community Server 8.0.20

3.1下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-winx64.zip

解压到D盘,得到路径:D:\mysql

在D:\mysql目录下新建mysql配置文件,mysql.ini,将如下内容粘贴进去:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\mysql
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
innodb_file_per_table = 1
#等待超时时间
wait_timeout=172800
#交互式连接超时时间
interactive-timeout=172800

3.2安装,开始菜单–>系统–>命令提示符–>以管理员身份运行,如图所示,依次输入命令:

mysqld -install命令执行后,提示:Service successfully installed,表示安装成功。

PS:在windows 的cmd下安装mysql时,在mysql的bin目录下面执行: mysqld --install
出现报错信息如下:Install/Remove of the Service Denied

解决办法:
打开cmd.exe程序的时候选择“用管理员身份打开”。

我在安装的时候报错,提示缺少msvcp140_1.dll,下载一个(在文后提供的RunHiddenConsole.rar压缩包里已经附带)复制至windows/system32目录,按快捷键WIN+R,运行regsvr32 vcruntime140_1.dll注册即可。也可至微软官方下载系统对应版本安装。地址:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads

3.3初始化,同样在命令提示符窗口,输入mysqld –initialize –console命令初始化,会生成一个初始root密码及在mysql安装目录生成数据库文件data目录,记录下来该密码,如图所示:

3.4启动mysql服务,输入net start mysql命令,如图:

PS:如果出现提示发生系统错误 5 拒绝访问,试着重新用管理员身份启动cmd操作试试

3.5修改root初始密码

输入mysql -uroot -p,然后输入前面记录的初始密码登录mysql

登录成功后即进入了mysql的命令行模式,输入命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

123456为新的root密码,命令执行成功后exit退出。mysql安装配置完成。

4 添加拓展

我需要用到redis,故添加redis拓展,别的拓展可以以此类推

PHP 扩展库通常称为“php_*.dll”(其中星号代表具体某扩展的名字),位于“PHP\ext”目录下。

PHP 发行包中包括了大多数开发者最常用到的扩展库。这些被称为“核心”扩展库。

不过呢,如果用户所需要的功能并没有被任何核心扩展提供,那还是有可能在 PECL 中找到。PHP Extension Community Library(PECL,PHP 扩展社区库)是个 PHP 扩展的储存室,提供了对于所有已知扩展的下载及开发途径的指南。

到PECL上下载redis对应的no-thread-safe版本(如果安装的是thread-safe要选择对应的拓展):https://pecl.php.net/package/redis/5.3.1/windows

解压后,将dll文件复制到ext文件夹下,在php.ini中添加extension=redis,重启php服务,使用phpinfo(),可看到redis模块信息。

参考:

安装mysql Install/Remove of the Service Denied!错误的解决办法
win10下配置NGINX+PHP+MYSQL
thread-safety PHP & no thread-safety PHP 版本选择
在 Windows 上安装 PHP 扩展
Windows下安装phpRedis扩展
win10解决Mysql net start mysql启动,提示发生系统错误 5 拒绝访问
windows下搭建nginx+php开发环境

WordPress问题汇集

1、wordpress安装主题报错Unable to locate WordPress Content directory

2、参考:让WordPress的摘要显示自定义排版格式

WordPress默认摘录的功能是在wp-includes/formatting.php这个文件里,我们要修改的只有主题functions.php文件,请把下面的代码加入到functions.php文件中

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');
function improved_trim_excerpt($text) {
        global $post;
        if ( '' == $text ) {
                $text = get_the_content('');
                $text = apply_filters('the_content', $text);
                $text = str_replace('\]\]\>', ']]>', $text);
                $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
                $text = strip_tags($text, '<p>');
                $excerpt_length = 80;
                $words = explode(' ', $text, $excerpt_length + 1);
                if (count($words)> $excerpt_length) {
                        array_pop($words);
                        array_push($words, '[...]');
                        $text = implode(' ', $words);
                }
        }
        return $text;
}

3、 WordPress提示“在裁剪您的图像时发生了错误”的解决方法 问题:在WordPress中使用裁剪图片功能时,出现:”在裁剪您的图像时发生了错误。”或者”There has been an error cropping your image.” 原因:缺少PHP GD库。 CentOS: yum install php-gd 安装PHP-GD库后重启服务器应用即可使用~ ​​​​

4、修改wordpress中twentytwelve主题显示文章摘要,先在控制台-设置-阅读里,选择摘要,再在wp-content/themes/twentytwelve/content.php文件中找到is_search(),后面会有批注:// Only display Excerpts for Search,添加is_category() || is_archive() || is_home()判断条件,在这些情况下都显示摘要,只有查看文章时才全部显示。

修改后为:if ( is_search() || is_category() || is_archive() || is_home()) : // Only display Excerpts for Search category archive home

5、修改Foot显示居中,在控制台-外观-主题编辑器中,找到Footer.php,修改为:

6、手动更新wordpress:美国服务器太慢了!!在这里找最新的安装包,在服务器端使用:wget 下载地址下载安装包并解压,删除wp-content:rm -rf wordpress/wp-content
将wordpress文件夹更名为网站根目录名:cp -r wordpress wpSampleName
修改读写权限:chmod -R 777 wpSampleName
拷贝覆盖:cp -rf /hxxe/fxxxxqi/wpSampleName /var/wxx/hxxx
访问http://你的博客地址/wp-admin/upgrade.php手动更新

参考:linux下载文件命令
wordpress一键全站迁移和备份
WordPress 5.2手动更新详细教程
Centos7解压Zip文件
CentOS下cp直接覆盖命令的方法

7、更新下载失败。: cURL error 28: Operation timed out after 300000 milliseconds with 949869 out of 13920060 byte。原因:下载太慢,建议手动更新,见6。

8、删除默认评论:控制台-设置-讨论,默认文章设置里的前两项取消勾选,参考原文

wordpress安装主题报错Unable to locate WordPress Content directory

1、 chmod -R 777 wordpress #提高网站文件夹权限

2、在wp-config.php末尾加上下面的代码片段:

if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}

参考:安装主题 Unable to locate WordPress Content directory (wp-content)

WordPress安装过程记录

1、下载wordpress包,官网: https://cn.wordpress.org/ ,注意下载的语言版本,git官网默认是英文版。
github: https://github.com/WordPress/WordPress
中文版百度云备份:https://pan.baidu.com/s/1aqzvl3hmquwsPy4eiagXzA 提取码:dhnw
中文要在wp-config.php或wp-config-sample.php中添加或修改
define('WPLANG','zh_CN');
define('WP_DEBUG',false);

2、上传到域名指向的根目录下,注意不要修改wp-config-sample.php文件名。

3、在mysql数据库中建立一个utf8的database,安装时需用。

4、进入首页,按照提示填写相应的信息,安装完毕。

注意:中间遇到错误,请查看日志报错:/var/log/mysql/mysqld.log,/var/log/nginx/access.log,/var/log/nginx/error.log

过程报错1:数据库连接错误→swap空间不足,解决办法
过程报错2:PHP文件读取不出来→9000端口未监听
过程报错3:缺少相关的的PHP拓展→常见必须拓展json、mysql,使用php -m查看已安装拓展,安装方法
过程报错4:主题下载无写入权限→设置wp-config.php

参考:如何安装wordpress
CentOS 下三种 PHP 拓展安装方法
wordpress界面汉化
FATAL ERROR: CALL TO UNDEFINED FUNCTION JSON_DECODE()解决办法
Nginx出现403 forbidden