Laravel 6 出来有一段时间了,一直都没使用过,以后用来记录一些代码片段
A temporary file could not be opened to write the process output: fopen(C:\Windows\sf_proc_00.out.lock): failed to open stream: Permission denied
这个问题可能只在win10下出现,但也可能只有少部分会出现(我的win10就中招了),找了网上的解决方案如下
# 修改php.ini的配置文件,找到sys_temp_dir项,修改为:
# 不在C盘就OK
sys_temp_dir=C:\tmp => sys_temp_dir=D:\tmp
用6测试reids锁的时候发现提示没有扩展,起初是疑惑的,之前用laravel的时候也没装redis的扩展也照样能用呀,后来一查发现原来是以前的laravel版本用的都是predis(纯php实现),难怪是开箱即用,而6提倡用c写的php扩展 phpredis。。。
Windows 下安装扩展
https://pecl.php.net/package/redis/5.1.1/windows 下载对应php版本的.dll 文件到扩展文件夹内:例 C:\bin\php\php-7.2.21-Win32-VC15-x64\ext
跑单元测试的时候,涉及到数据库的时候 一直提示我 驱动不对,默认为 sqlite ,开启pdo_sqlite的拓展之后又一直提示找不到表。。。。
解决办法:
# 注释 phpunit.xml 的 DB_CONNECTION 跟 DB_DATABASE
<!-- TODO WTF 太坑了!!! 默认是sqlite test 会提示找不到表!!! -->
<!-- <server name="DB_CONNECTION" value="sqlite"/>-->
<!-- <server name="DB_DATABASE" value=":memory:"/>-->
。。。。。。
春节前水一篇文章,祝大家春节快乐!?
-- END
写的不错,赞助一下主机费
:fire