因此,我对Laravel有很好的了解,但对终端/文件权限/访问却了解不多。我正在创建自己的打印服务器,并且遇到了cups。我正在使用Mac,并且已预先安装。
我在composer.json中添加了smalot/cups-ipp。在文档中,它说这是一项要求:
要求此库使用unix sock连接: unix:///var/run/cups/cups.sock
首先,检查您是否对该文件具有正确的访问权限: /var/run/cups/cups.sock
我不知道该怎么办或如何检查。创建了CupsController
并从其实现用法指南中粘贴了代码,但出现此错误:
没有这样的文件或目录
我认为这与不满足要求有关。
更新: 似乎我无法创建套接字。.
protected function createSocket(RequestInterface $request, $remote, $useSsl)
{
$errNo = null;
$errMsg = null;
$socket = @stream_socket_client($remote, $errNo, $errMsg, floor($this->config['timeout'] / 1000), STREAM_CLIENT_CONNECT, $this->config['stream_context']);
if (false === $socket) { // THIS THROWS. CAN'T CREATE SOCKET
throw new ConnectionException($errMsg, $request);
}
stream_set_timeout($socket, floor($this->config['timeout'] / 1000), $this->config['timeout'] % 1000);
if ($useSsl && false === @stream_socket_enable_crypto($socket, true, $this->config['ssl_method'])) {
throw new SSLConnectionException(sprintf('Cannot enable tls: %s', error_get_last()['message']), $request);
}
return $socket;
}