本地开发和符号链接的共享库


Local development and symlinked shared libraries

我试着如下设置我的本地apache docroot,用于本地php开发。

例如,目录结构的一个片段:

- Libs-git (shared lib packages)
-- Wp_Libs (Contains common libraries for wordpress dev)
--- autoload.php
--- composer
--- my-shared-pkg1
--- my-shared-pkg2
- Wp.Sites
-- Wp.Site1
--- wp-libs (Symlink to Wp_Libs above)
--- wp-content/plugins/myplugin-site1
-- Wp.Site2
--- wp-libs (Symlink to Wp_Libs above)
--- wp-content/plugins/myplugin-site2 

保持这种结构可以让我轻松地更改共享包,并且它们将可用于所有使用这些包的网站,而无需每次复制和粘贴。

问题:

当Wp.Site1调用在Wp_Libs原始库的函数中定义的include语句时,我得到404错误作为includes的输出。

示例代码来自(wp-content/plugins/myplugin-site1/plugin.php):

include "wp-libs/autoload.php"; //shared composer autoloader
use my/shared/pkg1;
pkg1::show_tpl('filename'); //This statement should include a file relative to the plugin folder (wp-content/plugins/myplugin/tpls/filename.html) 

为什么我从include语句中得到404错误页作为输出?如果我检查包含路径,它存在。。

我想您可以尝试将重复使用的libs安装为global。无论如何,问题似乎并不是作曲家的问题,更像是配置问题。

问题解决了!这个问题是一个小的编程错误(库中函数参数的默认值错误),它在某种程度上改变了整个网站的请求处理程序,任何包含的文件都被视为http请求。现在一切都很好。

这个问题可以标记为已解决。

无论如何,感谢大家的帮助!