Error en PHP con la librería mbstring (mPDF)

Tengo un programa en PHP que lo desarrollaron en windows y funciona bien, pero en Linux (amazon linux 2) manda un error la librería:

Fatal error: Uncaught Mpdf\MpdfException: mbstring extension must be loaded in order to run mPDF in /var/www/html/reportes/vendor/mpdf/mpdf/src/Mpdf.php:9493 Stack trace: #0 /var/www/html/reportes/vendor/mpdf/mpdf/src/Mpdf.php(1001): Mpdf\Mpdf->_dochecks() #1 /var/www/html/reportes/pdf.php(34): Mpdf\Mpdf->__construct(Array) #2 {main} thrown in /var/www/html/reportes/vendor/mpdf/mpdf/src/Mpdf.php on line 9493

Ya intente varias soluciones pero sin éxito

La librería esta instalada correctamente

php -v PHP 7.2.22 (cli) (built: Sep 24 2019 20:09:14) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

php -m [PHP Modules] bz2 calendar Core ctype curl date exif fileinfo filter ftp gettext hash iconv json libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar readline Reflection session sockets SPL sqlite3 standard tokenizer zlib

[Zend Modules]

ClassNotFoundException no detecta la librería en Heroku con Tomcat

Estoy tratando desplegar una aplicación con una librería local en heroku, pero no consigo que funcione ni tan siquiera en local. Cuando hago el push a heroku, tampoco funciona. Parece que la librería local no es reconocida por Tomcat.

Este es el pom.xml para añadir la librería.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>com.heroku.sample</groupId>   <artifactId>embeddedTomcatSample</artifactId>   <version>1.0-SNAPSHOT</version>   <packaging>jar</packaging>   <name>embeddedTomcatSample Maven Webapp</name>   <url>http://maven.apache.org</url>   <properties>     <tomcat.version>8.5.38</tomcat.version>     <maven.compiler.source>1.6</maven.compiler.source>     <maven.compiler.target>1.6</maven.compiler.target>   </properties>   <dependencies>     <dependency>         <groupId>org.apache.tomcat.embed</groupId>         <artifactId>tomcat-embed-core</artifactId>         <version>$  {tomcat.version}</version>     </dependency>     <dependency>         <groupId>org.apache.tomcat.embed</groupId>         <artifactId>tomcat-embed-jasper</artifactId>         <version>$  {tomcat.version}</version>     </dependency>     <dependency>         <groupId>org.apache.tomcat</groupId>         <artifactId>tomcat-jasper</artifactId>         <version>$  {tomcat.version}</version>     </dependency>     <dependency>         <groupId>org.apache.tomcat</groupId>         <artifactId>tomcat-jasper-el</artifactId>         <version>$  {tomcat.version}</version>     </dependency>     <dependency>         <groupId>org.apache.tomcat</groupId>         <artifactId>tomcat-jsp-api</artifactId>         <version>$  {tomcat.version}</version>     </dependency>     <dependency>             <groupId>es.redsys.insite</groupId>             <artifactId>model</artifactId>             <version>1.0</version>             <scope>system</scope>             <systemPath>$  {project.basedir}/lib/insite-api.jar</systemPath>     </dependency>   </dependencies>   <build>     <finalName>embeddedTomcatSample</finalName>     <plugins>         <plugin>             <groupId>org.codehaus.mojo</groupId>             <artifactId>appassembler-maven-plugin</artifactId>             <version>2.0.0</version>             <configuration>                 <assembleDirectory>target</assembleDirectory>                 <programs>                     <program>                         <mainClass>launch.Main</mainClass>                         <name>webapp</name>                     </program>                 </programs>             </configuration>             <executions>                 <execution>                     <phase>package</phase>                     <goals>                         <goal>assemble</goal>                     </goals>                 </execution>             </executions>         </plugin>     </plugins>   </build> </project> 

Y este es el error en el tomcat que se ejecuta en Heroku en local.

GRAVE: Servlet.service() for servlet [MyServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotFoundException: es.redsys.insite.api.model.message.InsiteOperationMessage     at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364)     at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1185)     at servlet.HelloServlet.doGet(HelloServlet.java:36) 

En mi archivo HelloServlet.java, hago los imports correspondientes:

import es.redsys.insite.api.service.InsiteService; import es.redsys.insite.api.service.impl.InsiteOperationService; import es.redsys.insite.api.model.message.InsiteOperationMessage; 

Y aquí es donde casca:

InsiteOperationMessage insiteOperation = new InsiteOperationMessage(); 

También he intentado modificar el archivo procfile con estas dos instrucciones para tratar de que se incluya la librería, pero no ha funcionado.

web: sh target/bin/webapp

web: java $ JAVA_OPTS -jar target/dependency/insite-api.jar

Cómo puedo hacer para que el tomcat detecte la librería para que detecte esta clase?

Gracias.

No encuentra la libreria dll del proyecto.Asp.net c#

Necesito de su apoyo por favor,tengo un problema con un proyecto, que anteriormente lo publicaba de una pc pero se malogró la pc. Ahora tengo un error que cuando ejecuto el proyecto me sale el siguiente error :

Server Error in ‘/Demo’ Application.
Could not load file or assembly ‘amqmdnet, Version=7.5.0.6, Culture=neutral, PublicKeyToken=ad1w31qe2q1’ or one of its dependencies. The system cannot find the file specified.

Por mas que el dll está en el proyecto, lo quito y lo vuelvo a poner con la ayuda del visual studio 2012. pero igual me sale que no lo encuentra. En la web.config lo quito y lo vuelvo a llamar igual tampoco funciona.

Lo pusé en otro pc y funciona pero lo publico al servidor de prueba y tengo la misma falla.

He estado buscando pero no encuentro la solución, la unico mas cercano es que lo agregue en windows/assembly de mi maquina y servidor, pero en el servidor de prueba sigue funcionando el codigo antiguo asi que supongo que no es eso.¿que me recomienda por hacer, por favor?

Es un proyecto WebForm asp.net

Problemas con keypress en un control generado desde una librería propia

Tengo una librería que genera un control de nombre PERICO el cual tiene eventos programados cuando se pulsa una tecla.

Desde un programa, cargo esa librería y genero un control de nombre JUANITO que es del tipo PERICO.

No consigo que el evento keypress en JUANITO haga nada, pasa directamente al keypress de PERICO.

¿Alguna sugerencia?

Muchas Gracias.

P.d. perdón por los nombres de los controles.

Como llamar a una librería que has guardado en un directorio y no directamente en la raíz

Estoy desarrollando un programa y para ello he tenido que bajarme una librería, ivport. La cosa es que yo ahora mismo descargué directamente desde github a la carpeta “general” de mi programa dicha librería y allí mismo guardé mi script proyecto.py.

Mi programa funciona perfectamente pero ahora me gustaría saber cómo se hace para estructurar mi carpeta “general” y por ejemplo tener una que se llame librerías y dentro una carpeta para cada librería, pues voy a tener que importar otras como por ejemplo opencv. Es decir quiero estructurarlo de la siguiente manera,

introducir la descripción de la imagen aquí

Por lo tanto mi pregunta es, cómo se hace para llamar dicha librería pues según vi se hace con un punto para concatenar carpetas pero me da error.

from librerias.ivport import ivport 

ImportError: No module named librerias.ivport

También probé pero me da error de sintaxis:

from librerias/ivport import ivport 

Gracias!

Librería sympy: Tengo el error Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll

Verdaderamente ya estoy frustrado y no le encuentro solución, vean que estoy tratando de usar la libreria sympy de Python, pero al tratar de escribir código para que este me devuelva la gráfica de una función me devuelve el siguiente error: Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

Lo que estoy haciendo es lo siguiente:

from sympy import * x,y,z = symbols("x y z") print(plot(cos(x))) 

Luego de hacer ese codigo tan sencillo para mostrar la gráfica de cos(x) obtengo en la salida el siguiente error:

INTEL MKL ERROR: %1 no es una aplicaci¾n Win32 vßlida. mkl_intel_thread.dll. Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll. 

Anexo también que este error se presenta solo a la hora de gráficar, todo lo demás funciona correctamente. Lo único que se me ocurre hasta ahora es que el error sea debido al procesador ya que mi procesador es AMD y el dll que intenta ejecutar mi editor de código hace referencia a nucleos de un procesador intel.

Se puede generar un archivo de excel con PDFs incrustados sin la librería Interop

Estoy generando un archivo de excel en el cual se almacenan archivos PDF para que independientemente de donde se abra el excel, se puedan visualizar los PDF, mi primer intento fue con la libreria Excel.Interop, en un ambiente web(ASP.Net), *se instaló Excel en el servidor *se dio permisos desde MMC- 32 en la aplicación de excel *se agrego un usuario administrador para ejecutar excel en el server *se dio permisos de lectura y escritura al usuario IIS_user ahora, se que Microsoft no recomienda instalar office en un servidor, pero es algo que se requiere. Cuando publico el codigo me aparece el siguiente error:

System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(Object Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) at WebApplication4.Default.Page_Load(Object sender, EventArgs e) in *************************Default.aspx.cs:line 74 

ahora, e visto muchos que dicen de librerías alternativas, pero no he visto la función que necesito para incrustar el pdf en el excel, este es el codigo que manejo hasta ahora

Microsoft.Office.Interop.Excel.Application xlApp;     Microsoft.Office.Interop.Excel.Workbook xlWorkBook;     Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;      protected void Page_Load(object sender, EventArgs e)     {          xlApp = new Microsoft.Office.Interop.Excel.Application();         int contador = 12;         try         {             xlWorkBook = xlApp.Workbooks.Add(true);             xlWorkBook = xlApp.Workbooks.Open(@"*************************************\example.xlsx", 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);              xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets[1];              int i = 680;             int j = 160;              int contadorArchivos = 1;              foreach (string f in Directory.GetFiles(@"**********************************"))              {                  contador = contador + 1;                  xlApp.get_Range("A1" + contador + ", Z" + contador + "").RowHeight = 60;                 if (f.Contains("\2.pdf"))                 {                      Response.Write(f + "</br>");                      j = j + 60;                      contadorArchivos + ".pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                     xlWorkSheet.Shapes.AddOLEObject(Filename: @"******************************\2.pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                 }                  contadorArchivos = contadorArchivos + 1;              }  Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);             Missing m = Missing.Value;             xlWorkBook.SaveAs(@"****************************\test.xlsx", m, m, m, m, m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m, m, m);              xlWorkBook.Close();             xlWorkBook = null;             xlApp.Application.Quit();             xlApp.Quit();              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp);             }              Response.Write("listo!!");          }         catch (Exception ex)         {              Response.Write("error"+"</br>"+ex.ToString());              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp );             }           }           finally         {          }     } 

Alguien tiene una librería que contenga esta función que no sea interop, y que pueda incrustar un pdf en un excel