想了解PHP服务器端打印Ubuntu服务器的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于ubuntu打印服务器的相关问题,此外,我们还将为您介绍关于c#–通过PHP启动服务器端打印作业、l
想了解PHP服务器端打印Ubuntu服务器的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于ubuntu 打印服务器的相关问题,此外,我们还将为您介绍关于c# – 通过PHP启动服务器端打印作业、linux – 无法使用.local(在一台服务器上而不是另一台服务器上)进入ubuntu服务器、linux – 获取ubuntu服务器的服务器硬件详细信息、php – 设置ubuntu服务器发送邮件()的新知识。
本文目录一览:- PHP服务器端打印Ubuntu服务器(ubuntu 打印服务器)
- c# – 通过PHP启动服务器端打印作业
- linux – 无法使用.local(在一台服务器上而不是另一台服务器上)进入ubuntu服务器
- linux – 获取ubuntu服务器的服务器硬件详细信息
- php – 设置ubuntu服务器发送邮件()
PHP服务器端打印Ubuntu服务器(ubuntu 打印服务器)
让我们直截了当这是一个基于本地的内部网,我知道PHP是服务器端.
我在基于Web的PHP,JAVA,Jquery Idea上运行公司管理解决方案.我们想直接从“LINUX”服务器和收据等打印报告.
我已经在服务器上安装了杯子,服务器打印正常,我现在只是坚持认为是否真的可以让服务器打印我们直接从PHP代码生成的pdf文件.
即使我们有一个bash脚本运行并检查目录打印pdf然后将其删除,我也会很高兴,即使我暂时将其视为一种解决方法.
就像我说的那样,我确实理解如果这是在WWW上完成的话那么就会有一些可以使用的漏洞.如果我在www上运行这个系统,我会有一个完全不同的网站,不允许打印,这个功能是没有必要的.
先感谢您
亚历克斯
解决方法
lpr myfile.pdf
因此,一旦将PDF写入临时文件,就可以使用任何可用的PHP函数来执行该shell命令:exec(),shell_exec(),system()
您甚至可以在不编写临时文件的情况下执行此操作,并通过STDIN将数据直接提供给lpr(尝试cat myfile.pdf | lpr作为shell上的示例).
如果使用proc_open()运行数据,则可以使用PHP将数据提供给程序的STDIN. PHP Manual的第一个例子可以适用于这样的事情:
<?PHP $descriptorspec = array( 0 => array("pipe","r"),// stdin is a pipe that the child will read from ); $process = proc_open('lpr',$descriptorspec,$pipes); if (is_resource($process)) { // $pipes Now looks like this: // 0 => writeable handle connected to child stdin // 1 => readable handle connected to child stdout // Any error output will be appended to /tmp/error-output.txt fwrite($pipes[0],$pdf_data); fclose($pipes[0]); } ?>
c# – 通过PHP启动服务器端打印作业
这很可能不是一件容易的事,但情况如下:
我编写了一个C#命令行应用程序:
>使用ITextSharp创建PDF
>将其写入磁盘
>通过System.Diagnostics.Process使用Acrord32.exe(这是Acrobat Reader)以静默打印生成的PDF
如果我构建我的解决方案并双击pdfGen.exe,它将按预期工作. PDF已创建并打印.
现在,我的应用程序必须部署在运行IIS 7的Windows Vista的内部服务器上.此服务器运行一些PHP webapp.它将通过PHP使用shell_exec()调用,以便生成的PDF将打印在连接到服务器的打印机上.
所以我的PHP页面看起来基本上是这样的:
shell_exec('/path/to/pdfGen.exe');
但这里出了问题.根据任务经理等情况会发生什么:
> pdfGen.exe启动
> PDF已创建
> Acrord32.exe启动
> pdfGen.exe永远挂起(PHP脚本也是如此)并且不会打印任何内容
我很确定这是一些与许可相关的问题.我已经给IIS_IUSRS访问了默认打印机,以及Acrord32.exe所在的目录.但是,仍然没有打印.但是,如果我手动启动我的pdfGen.exe它可以工作.
知道我错过了什么吗?
编辑:
我不一定要使用Acrobat Reader来打印PDF.如果有另一种方法来静默打印创建的PDF服务器端,我根本不介意.
解决方法:
为了检查发生了什么,请尝试运行
process monitor from Sysinternals并将事件过滤到adobe acrobat进程.您将看到acrobat的系统调用,它将让您了解更多或更少的错误.
linux – 无法使用.local(在一台服务器上而不是另一台服务器上)进入ubuntu服务器
server1 :(名称ssh工作)
$cat / etc / hosts
127.0.0.1 localhost
127.0.1.1 server1
server2 :(按名称ssh不起作用)
$cat / etc / hosts
127.0.0.1 localhost
127.0.1.1 server2
server1.local连接正常,server2.local获取此响应:
ssh:无法解析主机名server2.local:名称或服务未知
我没有做任何设置DNS,两个服务器的revolv.conf文件是相同的.
server2正在运行ubuntu服务器9.04 32位(jaunty),而server1正在运行ubuntu桌面9.10 64位(karmic).
任何人都可以告诉我应该在哪里看看有什么不同,以及为什么它适用于一个而不是另一个?
解决方法
root @ rilindo-desktop:〜#ps -ef | grep avahi
avahi 903 1 0 Jan01? 00:00:05 avahi-daemon:注册[rilindo-desktop.local]
avahi 904 903 0 Jan01? 00:00:00 avahi-daemon:chroot helper
root 18206 15276 0 11:23 pts / 2 00:00:00 grep avahi
假设未在计算机上过滤/阻止端口5353,则需要验证avahi的配置.
linux – 获取ubuntu服务器的服务器硬件详细信息
谢谢.
解决方法
cat /proc/meminfo
cat /proc/cpuinfo
php – 设置ubuntu服务器发送邮件()
我的服务器上安装了apache2,mysql和PHP5.
谢谢.
首先,如果没有安装postfix,请执行以下操作:
sudo apt-get install postfix
它提示了几个问题.我第一次选择“互联网网站”;对于防火墙后面的机器,我可能会选择smarthost.
对于第二个问题,它默认为机器名称;我附加了一个我控制的域名(所以我可以稍后为它设置DNS,我是否需要).
此时,您应该能够使用命令行中的“mail”发送测试. (我通常首先按照http://ubuntuforums.org/showthread.php?t=38429上的说明操作,否则我必须使用-f标志来/usr/bin/sendmail.我也想用root和普通用户的条目创建/ etc / aliases,然后运行newaliases)
然后在/etc/PHP5/conf.d下创建一个包含以下内容的文件(例如mailconfig.ini):
sendmail_from = "me@example.com" sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
将me@example.com更改为您的电子邮件地址.它们意味着所有电子邮件看起来都像是由您发送的,这可以帮助防止它被拒绝.这足以将错误电子邮件发送给开发人员.
(以上说明在Ubuntu 10.04,11.04,11.10,12.04上测试)
附:正如评论中所指出的那样,邮件并不总是存在(例如,在Ubuntu 11.10上它已经丢失了).这实际上并不影响上面的说明,你只需要邮件进行测试,你也可以使用sendmail.但邮件对于阅读电子邮件也很有用,因此通常需要安装它:apt-get install mailutils(以root身份).
关于PHP服务器端打印Ubuntu服务器和ubuntu 打印服务器的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于c# – 通过PHP启动服务器端打印作业、linux – 无法使用.local(在一台服务器上而不是另一台服务器上)进入ubuntu服务器、linux – 获取ubuntu服务器的服务器硬件详细信息、php – 设置ubuntu服务器发送邮件()的相关信息,请在本站寻找。
本文标签: