- 在配置nginx之后, 输入域名www.rubbish.top访问网站, 本来应该是跳转www.rubbish.top/web/index.php的, 但是路由却把网站根目录自动添加上去了. 就像这样:
输入 www.rubbish.top 敲回车之后 变成了 www.rubbish.top/home/php_project/refuse/web/index.php 正确的应该是www.rubbish.top/web/index.php 而/home/php_project/refuse是root目录
这个问题原因是修改fastcgi_params文件造成的,本来是SCRIPT_NAME 这一行是没有 $document_root 的,是我后来加的,导致出现问题了。这个文件里不用加$document_root,在虚拟主机的配置文件里加上$document_root就行了。
- 在新服务器上迁移原来的项目, 验证码出不来, 验证码请求的路径发现没有问题, 代码在之前服务器上可以生成, 突然想到是不是新服务器上没有安装PHP的GD库扩展. (通过PHPinfo查看, 果然没有安装!)
- Linux服务器上修改php.ini不生效的可能的几种原因:
- 修改php.ini配置文件后,没有重新加载php.ini配置文件
- 存在多个php.ini配置文件(通过PHPinfo查看php.ini文件, 通过php -ini 或者 find / -name php.ini 这些命令查找的php.ini, 发现都不是准确的, 根本不是程序加载使用的, 修改了一些参数根本不生效, 只有PHPinfo显示的才是最准确的)
- php.ini中的配置被其他文件中配置覆盖
- phpinfo()显示的有两列值, 一列是local value另一列是master value, local value 会覆盖掉master value的值, local value的是代码中ini_set()设置的配置优先级高于配置文件中的设置 (来自: https://blog.csdn.net/qq_21386275/article/details/84286170)
- php5.3.3及以后,除了在php.ini配置以外,还可以在php-fpm.conf里面配置,而php-fpm.conf优先级比php.ini高。